Pear PHP Mail 发送 CC 似乎不起作用

Posted

技术标签:

【中文标题】Pear PHP Mail 发送 CC 似乎不起作用【英文标题】:Pear PHP Mail sending CC doesn't seem to work 【发布时间】:2022-01-19 19:24:38 【问题描述】:

我在我的服务器上通过 SMTP 使用PEAR's mail library,虽然我可以生成电子邮件,但添加 CC 似乎不起作用。基本上抄送收件人永远不会收到他们的电子邮件,即使同一封电子邮件的主要收件人收到了。

我的基本设置如下,所有收件人变量($to、$cc、$bcc)都是字符串变量,包含单个收件人电子邮件地址或逗号分隔的电子邮件地址。

    $headers = array (
        'From' => $from,
        'To' => $to,
        'Cc' => $cc,
        'Bcc' => $bcc,
        'Subject' => $subject,
        'Reply-To' => $from,
        'X-Mailer' => 'php/' . phpversion(),
        'MIME-Version' => '1.0',
        'Content-Type' => 'text/html; charset=ISO-8859-1'
    );
    $smtp = Mail::factory('smtp', array (
        'host' => $host,
        'port' => $port,
        'auth' => true,
        'username' => $username,
        'password' => $password
    ));

    $result = $smtp->send($to, $headers, $message);

我听说发送密件抄送更复杂,所以让我们坚持抄送……为什么没有收到?有什么明显的地方我做错了吗?

【问题讨论】:

【参考方案1】:

要使用 SMTP 将电子邮件发送到抄送或密件抄送,您必须在 send() 函数的收件人下和标头内的抄送键中列出所有电子邮件地址。

$to = "john@example.com";
$cc = "doe@example.com";
$recipients = $to . ", " . $cc;

$headers["From"] = "john@example.com";
$headers["To"] = $to;
$headers["Subject"] = "Hello World!";
$headers["Cc"] = "doe@example.com";
$headers["Reply-To"] = "john@example.com";

$send = $mail->send($recipients, $headers, $body);

【讨论】:

谢谢你...只是为了检查一下,如果我有多个抄送收件人,它只是一个逗号分隔的字符串? @AdamJones 是的。

以上是关于Pear PHP Mail 发送 CC 似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有附件的 PEAR Mail 包使用 PHP 发送电子邮件

这个使用 Pear Mail 发送邮件的 PHP 脚本有啥问题?

PHP Pear Mail 无法发送带有 Unicode 字符的名称

使用 PEAR Mail 包发送邮件时出错

使用 PEAR 邮件发送测试消息时出现错误消息

linux中php项目无法发送邮件:PEAR mail package is not installed