我为发布有关symfony4 swiftmailer的第N个问题提前表示歉意,但是由于我始终无法发送电子邮件,因此我认为我的问题可能出在symfony的其他地方。 (nb:最后,我需要使其与GANDI一起使用,但由于涉及更多主题,因此我首先尝试使用GMAIL。)
至少这是我的配置(.env)
APP_ENV=prod (tried all with DEV too)
...
#MAILER_URL=gmail://****@gmail.com:****@localhost
#MAILER_URL=smtp://smtp.gmail.com:587?encryption=tls&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:25?encryption=tls&auth_mode=login&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:25?encryption=ssl&auth_mode=login&username=****&password=****
#MAILER_URL=smtp://mail.gandi.net:465?encryption=ssl&auth_mode=login&username=****&password=****
MAILER_URL=smtp://mail.gandi.net:587?encryption=tls&auth_mode=login&username=****&password=****
我也直接在swiftmailer.yaml中尝试过
swiftmailer:
transport: gmail
username: ****@gmail.com
password: *******
host: localhost
port: 465
encryption: ssl
auth-mode: login
spool: { type: 'memory' }
stream_options:
ssl:
allow_self_signed: true
verify_peer: false
verify_peer_name: false
我确实已将自己的Google帐户设置为启用安全性较低的应用程序。所有gmail请求返回
预期的响应代码为235,但得到的代码为“ 535”,消息“ 535-5.7.8,用户名和密码不被接受。”
->我100%确定我的Gmail密码和帐户正确。
我的Gandi请求返回
预期的响应代码354,但得到的代码为“ 554”,并显示消息“ 554 5.5.1错误:没有有效的收件人” [] []
->这是发送电子邮件的php代码:
$message = (new \Swift_Message('Test'))
->setFrom('****@****.com')
->setTo('****@gmail.com')
->setBody(
$this->renderView(
'email/view.html.twig',
['name' => '****', 'surname' => '****']
),
'text/html'
);
try {
$result = $mailer->send($message);
}
catch (\Exception $e) {
var_dump($e->getMessage());
}
所以我确实有收件人和发件人。
我在Macbook上本地工作,有没有可以阻止电子邮件离开或破坏我发送的电子邮件的软件?
答案 0 :(得分:0)
SMTP错误消息将表明您尝试发送到(或从)发送的电子邮件地址可能无效。确保电子邮件地址是实际有效的收件箱。
答案 1 :(得分:0)
确保您的密码不包含任何保留的字符,例如! * ' ( ) ; : @ & = + $ , / ?# |
。
在这里,我用Gandi邮件和Swiftmailer进行配置。
swiftmailer.yaml
swiftmailer:
url: '%env(MAILER_URL)%'
spool: { type: 'memory' }
要小心,在本地,您需要删除spool: { type: 'memory'}
才能立即发送电子邮件。
.env
MAILER_URL=smtp://mail.gandi.net:465?encryption=ssl&auth_mod=login&username=user@mail.com&password=password1234
此外,您可以使用以下命令行直接尝试配置:php bin/console swiftmailer:email:send