Php 未通过Swift Mailer Symfony2接收电子邮件

Php 未通过Swift Mailer Symfony2接收电子邮件,php,symfony,email,Php,Symfony,Email,我试图通过swiftmailer发送电子邮件 响应代码200正常,但仍未收到电子邮件 控制器代码 public function EmaiAction(Request $request) { $mailer = $this->get('mailer'); $logger = new \Swift_Plugins_Loggers_ArrayLogger(); $mailer->registerPlugin(new \Swift_Plugins_Logge

我试图通过swiftmailer发送电子邮件

  • 响应代码200正常,但仍未收到电子邮件

  • 控制器代码

     public function EmaiAction(Request $request)
     {
        $mailer = $this->get('mailer');
    
        $logger = new \Swift_Plugins_Loggers_ArrayLogger();
        $mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($logger));
    
    
        $message = \Swift_Message::newInstance()
        ->setSubject('Hello')
        ->setFrom('mohd@abc.com')
        ->setTo('***@gmail.com')
        ->setBody('This is a test email.');
    
        if ($this->get('mailer')->send($message)) {
        echo '[SWIFTMAILER] sent email to ';
        } else {
        echo '[SWIFTMAILER] not sending email: ' . $mailer->dump();
        }    
    
    die("email send");
    
    }
    
    输出

       [SWIFTMAILER] sent email to
    
    config.yml

    swiftmailer:
    disable_delivery:  true
    transport: smtp
    encryption: ssl
    port:   465
    auth_mode: login
    host:      smtp.gmail.com
    username:  ***@gmail.com
    password:  passwrd
    delivery_address: abc@gmail.com
    
    • 在if/else中执行echo时,它将进入if条件,这意味着它为true

    • 那为什么我没有收到电子邮件呢

    • 发送电子邮件时不显示错误日志

    • 我使用cpanel应用程序是生产环境

    这将禁用用于开发的邮件发送(请参阅)

    另外,还可以像这样尝试swiftmailer配置

    swiftmailer:
        transport: gmail
        username:  ***@gmail.com
        password:  passwrd
    

    您是否提供了有效的收件人和发件人电子邮件地址?是的,我提供了正确的收件人和发件人“允许不太安全的应用程序访问您的帐户”-您是否为gmail设置了此选项?是的,我这样做了,并且gmail->setting allow imap enabled alsoTry添加此代码-
    $this->get('mailer')->send($message)。不在if条件下。当我删除disable_delivery时,无法与主机smtp.gmail.com建立连接[连接被拒绝#111]尝试将传输更改为gmail(),仍然面临相同的问题请参阅更新的答案。如果你在gmail上使用2FA,还需要额外的步骤。查看文档。我也尝试了这个配置,但它仍然不适用于相同的事情,现在im getting无法与主机smtp.gmail.com建立连接
    
    swiftmailer:
        transport: gmail
        username:  ***@gmail.com
        password:  passwrd
    
    $message = \Swift_Message::newInstance()
    ->setSubject('Hello')
    ->setFrom('mohd@abc.com')
    ->setTo('***@gmail.com')
    ->setBody('This is a test email.');
    $this->get('mailer')->send($message);