PHPを使用してSMTPを送信しています。PHP SMTPを使用して電子メールを送信するBCCが空の場合電子メールを送信できない
$from = "Info <[email protected]>";
$subject = "Calibration will be expiring!";
$body = 'Hello';
$to = "[email protected], [email protected]";
$cc = "[email protected]";
$bcc = ""; //sometimes BCC can be empty
$host = 'smtp.test.com';
$port = '587';
$username = '[email protected]';
$password = 'dontreply?';
$headers = array(
'Port' => $port,
'From' => $from,
'To' => $to,
'Subject' => $subject,
'Content-Type' => 'text/html; charset=UTF-8',
'Cc' => $cc
);
$recipients = $to.", ".$bcc.", ".$cc;
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($recipients, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
上記のコードを実行しようとしましたが、$bcc
が空でない場合にのみ動作しました。
エラー$bcc
が
Failed to add recipient: @localhost [SMTP: Invalid response code received from server (code: 501, response: 5.1.3 Invalid address [HKXPR02MB0695.apcprd02.prod.outlook.com])]
空でそれを修正するか、そこにいくつかの変更を必要とするためにどのようにどのような方法がありますか?
'$受取人= $に "" $ BCC "" $のCC;'なぜあなたはこの行を持っていますか。。。。? BCCもヘッダーで送信する必要があります。受信者には$を付けるだけです。 –
@NormanMだから私は何をする必要がありますか? –