【问题标题】:Pear PHP Mail sending CC doesn't seem to workPear PHP Mail 发送 CC 似乎不起作用
【发布时间】: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);

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

【问题讨论】:

    标签: php email pear


    【解决方案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 是的。
    猜你喜欢
    • 2011-09-12
    • 2019-03-28
    • 2014-12-04
    • 2018-06-04
    • 2010-12-02
    • 2014-04-18
    • 2013-07-07
    • 1970-01-01
    • 2010-12-05
    相关资源
    最近更新 更多