Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用swiftmailer的密件抄送多个地址_Php_Email_Swiftmailer_Bcc - Fatal编程技术网

Php 使用swiftmailer的密件抄送多个地址

Php 使用swiftmailer的密件抄送多个地址,php,email,swiftmailer,bcc,Php,Email,Swiftmailer,Bcc,我使用下面的php代码发送电子邮件到一个地址和密件抄送2其他地址。它可以发送给收件人,但我只能让它发送到2个密件抄送地址之一。(请参阅代码中的注释了解我的尝试) 但奇怪的是,$result返回为3,因此它似乎试图发送第二封密件抄送电子邮件,但从未通过 <?php $tracker='tracking@pnrbuilder.com'; $subject = $_POST['subject']; $sender = $_POST['sender']; $to

我使用下面的php代码发送电子邮件到一个地址和密件抄送2其他地址。它可以发送给收件人,但我只能让它发送到2个密件抄送地址之一。(请参阅代码中的注释了解我的尝试)

但奇怪的是,$result返回为3,因此它似乎试图发送第二封密件抄送电子邮件,但从未通过

<?php


    $tracker='tracking@pnrbuilder.com';
    $subject = $_POST['subject'];
    $sender = $_POST['sender'];
    $toEmail=$_POST['toEmail'];
    $passedInEmail=stripslashes($_POST['message']);
    $passedInEmail=preg_replace('/&nbsp;/',' ',$passedInEmail);

    require_once('swiftLib/simple_html_dom.php');
    require_once('swiftLib/swift_required.php');
    $transport = Swift_MailTransport::newInstance();
    $mailer = Swift_Mailer::newInstance($transport);
    // Create the message
    $message = Swift_Message::newInstance();
    //turn the meesage into an object using simple_html_dom
    //so we can iterate through and embed each image
    $content = str_get_html($passedInEmail);

    // Retrieve all img src tags and replace them with embedded images
    foreach($content->find('img') as $e) 
        {
            if($e->src != "") 
                {
                    $value = $e->src;
                    $newValue = $message->embed(Swift_Image::fromPath($value)); 
                    $e->src = $newValue;
                }
        }

    $message->setSubject($subject);
    $message->setFrom($sender);
    $message->setTo($toEmail);



    //this is my problem
    $message->setBcc(array('tracking@pnrbuilder.com',$sender));
    //as it is above only "sender" gets the email

    //if I change it like this:

    //$message->setBcc($tracker,$sender);
    //only "tracker" gets the email


    //same if I change it like this:
    //$message->setBcc($sender);
//$message->addBcc($tracker);

    $message->setReplyTo(array('flights@pnrbuilder.com'));
    $message->setBody($content,'text/html');


    $result = $mailer->send($message);
    if ($result=3) {
        echo 'Email Sent!';
    } 
    else {
       echo 'Error!';
    }
?>


正确的方法是什么?

您可以找到swiftmailer教程

例如:

$message->setBcc(array(array('some@address.tld' => 'The Name'),array('another@address.tld' => 'Another Name')));

尝试设置电子邮件地址的名称,看看是否有任何区别。

这最终成为服务器端的一个问题,我联系了我的主机提供商(GoDaddy),他们能够在解决问题时进行一些更改。感谢所有试图帮助的人

使用AddBcc有什么乐趣吗?请尝试使用pnrbuilder.com地址作为第二封电子邮件。可能是因为服务器配置的缘故。@allen213 nope addBcc()给出了相同的结果(添加到我上面的问题中)@Ziumin使用一个不同域的电子邮件地址确实有效,并且两个域都被发送,当电子邮件是同一域时,我能做些什么让它工作呢?对于像我这样的所有人:再次检查没有键入
addBcc()
而不是
setBcc()
。(在使用
addBcc
之前,您必须至少通过
setBcc
设置第一个。谢谢。结尾有两个括号,必须有三个。