6

我已经测试以下代码几个小时了。电子邮件将发送到通过添加的地址,$mail->AddAddress()并且在收到的电子邮件中注明抄送,但抄送人没有收到电子邮件。我到处寻找,找不到解决办法来解决为什么会发生这种情况。我已经运行了测试,并且所有变量都正确地提交给了这个代码。

我的服务器正在运行 Linux Red Hat

我的代码:

require_once('../smtp/class.phpmailer.php');
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP(); // telling the class to use SMTP
try {
  $mail->SMTPDebug  = 0;                     // enables SMTP debug information (for testing)
  $mail->SMTPAuth   = true;                  // enable SMTP authentication
  $mail->SMTPSecure = "tls";                 // sets the prefix to the server
  $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
  $mail->Port       = $port;                 // set the SMTP port for the GMAIL server  465 or 587
  $mail->Username   = $username;             // GMAIL username
  $mail->Password   = $password;             // GMAIL password

  // Add each email address
  foreach($emailTo as $email){ $mail->AddAddress(trim($email)); }
  if($cc!=''){ foreach($cc as $email){ $mail->AddCC(trim($email)); } }
  if($bcc!=''){ foreach($bcc as $email){ $mail->AddBCC(trim($email)); } }

  $mail->SetFrom($emailFrom, $emailName);
  $mail->AddReplyTo($emailFrom, $emailName);
  $mail->Subject = $subject;
  $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
  $mail->MsgHTML($content);
 // $mail->AddAttachment('images/phpmailer.gif');      // attachment
 // $mail->AddAttachment('images/phpmailer_mini.gif'); // attachment

  $mail->Send();
  echo'1';exit();
} catch (phpmailerException $e) {
  echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo $e->getMessage(); //Boring error messages from anything else!
}
4

2 回答 2

10

Old question, but I ended up here looking for an answer. Just learned elsewhere that those functions AddCC and AddBCC only work with win32 SMTP

Try using:

$mail->addCustomHeader("BCC: mybccaddress@mydomain.com"); 

See http://phpmailer.worxware.com/?pg=methods

Hope this helps someone, cheers!

于 2015-02-18T13:52:51.730 回答
-1
$address = "xxxxx@gmail.com";
$mail->AddAddress($address, "technical support");


$address = "yyyyyy@gmail.com";
$mail->AddAddress($address, "other");


$addressCC = "zzzzzz@gmail.com";
$mail->AddCC($addressCC, 'cc account');


$addressCC = "bcc@gmail.com";
$mail->AddBCC($addressCC, 'bcc account');
于 2014-05-01T08:06:38.103 回答