无法使用SMTP服务器发送带有symfony和swiftmailer的电子邮件

时间:2019-05-17 20:59:48

标签: symfony email smtp symfony4 swiftmailer

当我尝试发送电子邮件时,出现错误:

  

刷新电子邮件队列时发生异常:无法建立连接   与主机w00d8ef1.kasserver.com [#0]

建立

.env

MAILER_URL=smtp://w00d8ef1.kasserver.com:25?encryption=ssl&auth_mode=login&username=myusername&password=mypassword

swiftmailer.yaml

swiftmailer:
    url: '%env(MAILER_URL)%'
    spool: { type: 'memory' }

控制器:

$message = (new Swift_Message('Test'))
    ->setFrom('info@lama.resper.de')
    ->setTo($user->getEmail())
    ->setBody(
        $this->renderView(
            'pdf/usercard.html.twig',
            ['user' => $user]
        ),
        'text/html'
    )
;
$mailer->send($message);

希望有人可以帮助我。邮件服务器正在运行。

2 个答案:

答案 0 :(得分:0)

确定要为smtp使用正确的端口号吗?通常,它在465或587上运行。因此,尝试更改MAILER_URL env变量中的端口号。

答案 1 :(得分:0)

symfony 4.3

尝试.env文件类似

MAILER_URL = smtp://YOURDOMAIN.COM:465?encryption=ssl&auth_mode=login&username=USEREMAIL@DOMAIN.COM&password=您的密码

config / packages / dev / swiftmailer.yaml中的

(对于dev env) 插入:

swiftmailer:
transport:        smtp
username:         user@domain.pl
password:         'yourpasswor{$#@'
host:             mail.yourdomain.pl
port:             465
encryption:       ssl
auth-mode:        login
spool: { type: 'memory' }
stream_options:
    ssl:
        allow_self_signed: true
        verify_peer: false
        verify_peer_name: false

使用

php bin/console debug:config swiftmailer

签出您的配置

与生产yaml文件相同(但ssl不应自签名)