【发布时间】:2015-04-14 16:50:13
【问题描述】:
我正在尝试仅将邮件发送到密件抄送,但无法发送。下面给出的代码适用于 To 和 Bcc,但是当我尝试仅使用 Bcc 发送时,它会失败。我尝试用 To 传递空字符串,但没有用。我正在使用 mailgun php API。
function send_mail($email,$subject,$msg,$bcc)
{
$api_key="";
$domain ="";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, 'api:'.$api_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_URL, 'https://api.mailgun.net/v2/'.$domain.'/messages');
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'from' => 'Example <examle@examle.com>',
'to' => $email,
'bcc' => $bcc,
'subject' => $subject,
'html' => $msg,
'o:tracking' => true));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
send_mail($email, $subject, $msg, $bcc);
【问题讨论】:
-
通常的解决方法是将发件人地址放在
to中。 -
没有收件人的电子邮件无效。您必须有一个收件人地址。正如@KlasLindbäck 提到的,通常您使用自己的 FROM 地址作为 TO。这样,电子邮件来自:您和收件人:您以及目标电子邮件的密件抄送地址。
-
好的,知道了。谢谢你们的帮助。 :)