Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 Symfony swift_邮件:发送到多个地址,但每封邮件仅显示一个地址_Php_Symfony_Email - Fatal编程技术网

Php Symfony swift_邮件:发送到多个地址,但每封邮件仅显示一个地址

Php Symfony swift_邮件:发送到多个地址,但每封邮件仅显示一个地址,php,symfony,email,Php,Symfony,Email,我想向一个地址列表发送电子邮件,但我希望每个人都能收到电子邮件,并将其电子邮件地址发送到:(而不是发送列表中的其他电子邮件地址)。 我使用的是symfony和Swift邮件。我的代码目前看起来是这样的(它正在工作): 我有两个解决方案(我不喜欢任何解决方案!) 使用密件抄送()但它使我的电子邮件看起来像垃圾邮件 循环并向每个成员发送相同的电子邮件(似乎确实消耗了服务器资源) 这个循环行吗 还有更好的主意吗 循环确实是唯一的解决方案 如果你有很多收件人,你会很快被标记为垃圾邮件(并被禁止)。你会

我想向一个地址列表发送电子邮件,但我希望每个人都能收到电子邮件,并将其电子邮件地址发送到:(而不是发送列表中的其他电子邮件地址)。
我使用的是symfony和Swift邮件。我的代码目前看起来是这样的(它正在工作):

我有两个解决方案(我不喜欢任何解决方案!)

  • 使用密件抄送()但它使我的电子邮件看起来像垃圾邮件

  • 循环并向每个成员发送相同的电子邮件(似乎确实消耗了服务器资源)

  • 这个循环行吗


    还有更好的主意吗

    循环确实是唯一的解决方案

    如果你有很多收件人,你会很快被标记为垃圾邮件(并被禁止)。你会想要通过一个专门的邮件平台(每次发送之间有一点时间),你可以自己编写代码(相当繁重的工作),或者有很多邮件平台作为服务,比如MailChimp或MailJet

    这完全取决于要发送的邮件数量。每天最多100个可能还可以(尽管这是一个从我头顶算起的任意数字)。
    如果超过某个阈值,并且取决于您使用的邮件服务器(例如服务器上的本地或gmail),您的IP或帐户可能会被禁止。例如,大多数电子邮件提供商每天都有邮件限制

    电子邮件服务有许多发送规则,例如,它们延迟电子邮件;他们使用多个域和地址发送;他们与主要的邮件提供商(gmail,yahoo…)合作,确保他们的域名不会自动标记为垃圾邮件


    基本上,如果你真的想给很多人发很多电子邮件,我真的不建议你自己发。警告太多了。

    那怎么办?为什么只有一个(可见)收件人的邮件看起来像垃圾邮件?“但是,仅将电子邮件地址放在密件抄送字段中,而在收件人字段中没有地址(或您自己的地址),可能会导致某些垃圾邮件过滤器将邮件标记为垃圾邮件。”密件抄送方法对密件抄送地址的数量有限制;在某些邮件服务器上,它确实有时会被标记为垃圾邮件(我刚才也尝试过)。您希望一次发送多少封邮件?每个请求大约50到100封电子邮件。谢谢您的评论。我在问题中加入了我的循环。我要设置发送之间的时间吗?这取决于要发送的邮件数量。每天最多100美元就可以了。超过某个阈值,并且取决于您使用的邮件服务器(例如服务器上的本地或gmail),您的IP或帐户可能会被禁止。例如,大多数电子邮件提供商每天都有邮件限制,我只是尝试了上面的循环:我所有的电子邮件都标记为垃圾邮件;我刚刚意识到,在我的循环中,我正在将元素$增加到…我已经更新了我的答案,以添加关于该问题的更多细节。
    public function sendmail(Notification $notification, $alert){
                $to = array();
    
                foreach ($members as $member) {
                    $to[] = $member->getUser()->getEmail();  
                }
    
                $html = $this->templating->render(
                    'PlatformBundle:Emails:email.html.twig',
                    array('alert' => $alert, 'notification' => $notification, 'user' => $this->user)
                );          
    
                // Configure and send the mail
                $message = \Swift_Message::newInstance()
                ->setSubject('an email ')
                ->setFrom($this->sender_email)
                ->setCc($this->user->getEmail())
                ->setTo($to)
                ->setBody($html, 'text/html');
    
                $mailStatus = $this->mailer->send($message);
    }
    
    public function sendmail(Notification $notification, $alert){
            $to = array();
    
            foreach ($members as $member) {
                $to[] = $member->getUser()->getEmail();  
    
                $html = $this->templating->render(
                    'PlatformBundle:Emails:email.html.twig',
                    array('alert' => $alert, 'notification' => $notification, 'user' => $this->user)
                );          
    
                // Configure and send the mail
                $message = \Swift_Message::newInstance()
                ->setSubject('an email ')
                ->setFrom($this->sender_email)
                ->setCc($this->user->getEmail())
                ->setTo($to)
                ->setBody($html, 'text/html');
    
                $mailStatus = $this->mailer->send($message);
            }