Я тестировал следующий код часами. Электронная почта будет отправляться по адресам, добавленным через $mail->AddAddress()
и в полученном электронном письме указывается cc, но лицо, которому cced не получает электронное письмо. Я везде искал и не могу найти решение, почему это происходит. Я проверил тесты, и все переменные были отправлены на этот код правильно.
Мой сервер работает под управлением 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! }
Старый вопрос, но я оказался здесь в поисках ответа. Просто узнал, что эти функции AddCC и AddBCC работают только с win32 SMTP
Попробуйте использовать:
$mail->addCustomHeader("BCC: mybccaddress@mydomain.com");
См. http://phpmailer.worxware.com/?pg=methods
Надеюсь, это поможет кому-то, ура!
$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');