php的mail相关问题

     最近在弄一个论坛,中间有一环节是用户注册后给用户发激活邮件,我用的服务器端语言是php,php本来有一个mail()函数,都说只要有邮件服务器,然后在php.ini里面配置一下就可以了,我按照这样折腾了半天,好不容易mail()函数不报错了,但是邮件还是无法发送到对方邮箱(我用另一个邮箱做了实验)。猜测可能是被服务器拦截了吧,于是在苦恼了几天后决心换个方向,然后发现网上有种方法是用一个自己写一个邮件类,然后在自己的程序里调用这个自定义的邮件类。网上已经有大神写出了三个与之相关的类,可以满足你需要的邮件形式。这里是相关文件的 下载地址,下载后,解压到你的网站的目录下就可以使用,建议解压到你的网站下的includes文件夹下(如果有的话),因为这些文件不会直接在客户端被访问,只是会被其他的php文件包含引用。然后我自己写了一个外部调用函数sendmymail(),你只需要在这个函数里适当改变一下,就可以实现发送邮件的功能了。


下面是我的sendmymail()函数:

<?php     
   require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录 
 function sendmymail($address,$subject,$body,$username)   
   {
    
       $mail = new PHPMailer(); //建立邮件发送类        
       $mail->IsSMTP(); // 使用SMTP方式发送     
       $mail->Host = "smtp.qq.com"; // 您的企业或者个人邮箱域名       
       $mail->SMTPAuth = true; // 启用SMTP验证功能      
       $mail->Username = "1964736605@qq.com"; //邮箱用户名(请填写完整的email地址)     
       $mail->Password = "*********"; // 邮箱密码     
       $mail->Port=25;     
       $mail->From = "1964736605@qq.com"; //邮件发送者email地址     
       $mail->FromName = "沈琼";     
       $mail->FromName =  "=?utf-8?B?".base64_encode("沈琼")."?=";  // 发件人乱码时,可以这样处理:utf-8是你指定的邮件字符集
       $mail->CharSet = "utf-8";   // 这里指定字符集!    
       $mail->Encoding = "base64";    
       $mail->AddAddress("$address", "$username");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")     

       $mail->AddReplyTo("1964736605@qq.com","qq.com");    //抄送
        //$mail->WordWrap = 50; // set word wrap 换行字数    
        //$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件    
        //$mail->AddAttachment("/tmp/image.jpg", "new.jpg");    
       // $mail->IsHTML(true);  // send as HTML       
      $mail->Subject = "$subject"; //邮件标题     
      $mail->Body = "$body"; //邮件内容     
      $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略     
         
  if(!$mail->Send())     
    {     
   echo "fail to send email to your emailbox. sorry!\n plese contact the adminstrator.<p>";     
   echo "because: " . $mail->ErrorInfo;     
   exit;     
   }     
         
   }
   ?>     



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值