杭州神话信息技术有限公司

标题: 邮件发送功能BUG 附修改办法 [打印本页]

作者: micwolf    时间: 2010-7-17 21:49:45     标题: 邮件发送功能BUG 附修改办法

下载试了下配置了SMTp发现一直出错,查了下源代码发现原来程序中关于邮件发送程序有许多错误,希望官方改下
下面是我的修改办法,测试正常。不喜可不改,请备份源文件。
include/function/global.func.php

  1. function stmp_mail($uname,$emailaddress,$title,$content){
  2. require(MOD_PATH.'mail/class.phpmailer.php');
  3.         require(CONFIG_PATH.'product.php');  
  4. $mail = new PHPMailer();
  5. $mail->CharSet ="GB2312";
  6. $mail->IsSMTP();  
  7.         $mail->Host = $config['product']['default_server'];  
  8.         $mail->SMTPAuth = true;  
  9.         $mail->Username = $config['product']['default_user'];  
  10.         $mail->Password = $config['product']['default_pwd'];
  11.         require(CONFIG_PATH.'settings.php');  
  12.         $mail->From = $config['site_admin_email'];
  13. $mail->FromName = $config['site_name'];
  14. $mail->AddAddress($emailaddress,$uname);
  15. $mail->WordWrap = 50;  $mail->IsHTML(true);  $mail->Subject = $title;
  16. $mail->Body = $content;
  17. if(!$mail->Send()){
  18. echo "Message was not sent <p>";
  19. echo "Mailer Error: ".$mail->ErrorInfo;
  20. exit;
  21. }else{
  22.   return true;
  23. };
  24. }
复制代码

  1. function mail_mail($uname,$emailaddress,$title,$content){
  2. require(CONFIG_PATH.'settings.php');
  3. $headers = "MIME-Version: 1.0" . "\r\n";
  4. $headers .= "Content-type:text/html;charset=gbk" . "\r\n";
  5.   $headers .= 'From: '.$config['site_admin_email'] . "\r\n"; mail($emailaddress,$title,$content,$headers);
  6. }
复制代码
  1. function sendmail($uname,$emailaddress,$title,$content){
  2. require(CONFIG_PATH.'product.php');
  3. if($config['product']['default_mailtype']==1){
  4. stmp_mail($uname,$emailaddress,$title,$content);
  5. }else{
  6. mail_mail($uname,$emailaddress,$title,$content);
  7. };
  8. }
复制代码

include/task/mail_send.task.php

  1. sendmail($value['username'],$value['address'],$value['title'],$value['content']);
复制代码




说明 程序原来调用phpmail(),但是在原来程序中需要调用 setting/product 下面的配置却没有调用。去除了原来函数中没用用的$set 参数
作者: dongpo    时间: 2010-7-20 10:44:55

我顶你!!!!!!!!
作者: 银河人    时间: 2010-7-20 19:15:32

改了啊,还是不行啊。没改前海提示发送成功,收不到信。改完,也没发送成功的提示了
作者: bt_bby    时间: 2010-7-27 12:57:40

改过了,还是不行,不知道原因
作者: wolf8899    时间: 2010-7-28 10:04:44

怎么修改的,步骤也没有的啊
作者: wolf8899    时间: 2010-7-28 10:39:57

function sendmail($uname,$emailaddress,$title,$content){

require(CONFIG_PATH.'product.php');

if($config['product']['default_mailtype']==1){

stmp_mail($uname,$emailaddress,$title,$content);

}else{

mail_mail($uname,$emailaddress,$title,$content);

};

}

这段加上就出错了!哎。。。你能不能出个好注意呀,来个修改步骤,你这样发布,我们实在是看不明白。。
作者: micwolf    时间: 2010-7-28 11:06:40

查找原来文件中相应的内容,然后替换,不需要新增任何内容
作者: bt_bby    时间: 2010-7-28 12:02:50

修改过了,但又出现了另一个错误,呵呵
作者: 火爆浪子    时间: 2010-9-6 15:52:58

围观ing……




欢迎光临 杭州神话信息技术有限公司 (http://www.cenwor.com/) Powered by Discuz! X2