当前位置:首页 > CMS教程 > ecshop > 列表

ecshop实现smtp发送邮件

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-09 17:10:52 浏览: 评论:0 

这篇文章主要介绍了ecshop实现smtp发送邮件,需要的朋友可以参考下

使用ECShop的smtp方式发送邮件时,在cls_smtp类文件中,执行到get_data方法中的语句:

$line    = fgets($this->connection, 512);

;时,发生超时错误。

注释掉该函数的执行,直接发送邮件,则返回错误ehlo command failed。

但打印出链接数据时,确实连上了。

之前用别的程序发送邮件也是可以正常发送的,于是重新发送函数,改用phpmailer发送邮件,代码如下:

  1. function smtp_mail($name$email$subject$content$type = 1, $notification=false) { 
  2.      /* 如果邮件编码不是EC_CHARSET,创建字符集转换对象,转换编码 */ 
  3.     if ($GLOBALS['_CFG']['mail_charset'] != EC_CHARSET) 
  4.     { 
  5.         $name      = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $name); 
  6.         $subject   = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $subject); 
  7.         $content   = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $content); 
  8.         $shop_name = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $GLOBALS['_CFG']['shop_name']); 
  9.     } 
  10.     $charset   = $GLOBALS['_CFG']['mail_charset']; 
  11.     include_once ROOT_PATH . 'includes/phpmailer/class.phpmailer.php'
  12.     $mail = new PHPMailer(); 
  13.     $mail->From = $GLOBALS['_CFG']['smtp_user']; 
  14.     $mail->FromName = '云南***播有限公司'
  15.     if ($GLOBALS['_CFG']['mail_service'] == 0) { 
  16.         $mail->isMail(); 
  17.     } else { 
  18.         $mail->IsSMTP(); 
  19.         $mail->Host = $GLOBALS['_CFG']['smtp_host']; 
  20.         $mail->Port = $GLOBALS['_CFG']['smtp_port']; 
  21.         $mail->SMTPAuth = !emptyempty($GLOBALS['_CFG']['smtp_pass']); 
  22.         $mail->Username = $GLOBALS['_CFG']['smtp_user']; 
  23.         $mail->Password = $GLOBALS['_CFG']['smtp_pass']; 
  24.     } 
  25.     $mail->Encoding = "base64"
  26.     //$mail->Priority     = $this->priority; 
  27.     $mail->CharSet      = $charset
  28.     $mail->IsHTML($type); 
  29.     $mail->Subject      = $subject
  30.     $mail->Body         = $content
  31.     $mail->Timeout      = 30; 
  32.     $mail->SMTPDebug    = false; 
  33.     $mail->ClearAddresses(); 
  34.     $mail->AddAddress($email$name); 
  35.     $mail->ConfirmReadingTo = $notification
  36.     $res = $mail->Send();  
  37.     if (!$res
  38.     { 
  39.         $GLOBALS['err']->add($mail->ErrorInfo); 
  40.         $GLOBALS['err']->add($GLOBALS['_LANG']['sendemail_false']); 
  41.         return false; 
  42.     } 
  43.     return true; 

以上就是本文的全部内容了,希望小伙伴们能够喜欢。

Tags: ecshop发送邮件 smtp发送邮件

分享到: