我有一个1and1帐户,即时尝试使用symfony2.3和swift_mailer发送电子邮件,但这是不可能的。
我没有任何错误,我已经检查了symfony日志,但没有。
这是我的实施(在行动中):
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('test@domain.com')
->setTo('myuser@mydomain.com')
->addCc('other@mydomain.com')
->setBody( "test body" )
;
$mailer = $this->get('mailer');
$result = $mailer->send($message, $fails);
//$fails receive a empty array
//$result get value 1
这是配置:
swiftmailer:
transport: smtp #i also try mail and sendmail
host: smtp.1and1.mx #i also try smtp.1and1.es, auth.smtp.1and1.fr
username: someone@mydomain.net #the complete email someone@mydomain.net(this account is active, i'm able to login in webmail...)
password: mypass
spool: { type: memory }
encryption: tls # i also try without this setting
没有任何作用,甚至,我尝试使用gmail配置:
swiftmailer:
transport: gmail
host: smtp.gmail.com #with and without this parameter
username: %mailer_user% #the complete email someone@gmail.com and without domain
password: %mailer_password% #the gmail password
同样的结果。
我做错了什么? 1and1支持只是发送给我这个链接:
http://faq.1and1.es/email/email/informacion_email/9.html
更新
如果我在配置中删除{type:memory},我收到此错误:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.1and1.es [Connection refused #111]...
有任何帮助吗?
答案 0 :(得分:6)
而不是mail.php,转到.env并设置MAIL_DRIVER属性。这项工作在1and1。
MAIL_DRIVER=mail
MAIL_HOST=smtp.1and1.es
MAIL_PORT=25
MAIL_USERNAME=<xxxxxx@xxxx>
MAIL_PASSWORD=<xxxxxx>
MAIL_ENCRYPTION=tls
答案 1 :(得分:0)
我们遇到Swiftmailer在使用内存假脱机时不发送电子邮件的问题。我们最终更改为文件假脱机,然后设置一个cron作业来执行swiftmailer命令将其发送出去(app/console swiftmailer:spool:send -e=prod
)
答案 2 :(得分:-1)
转到config / mail.php
更改此行
'driver' => 'env('MAIL_DRIVER', 'smtp')',
对于此
'driver' => 'mail',
如果您的代码在localhost中有效,则此更改也将在1and1中