通过 OVH 邮件使用 swiftmailer 发送邮件
Sending mail with swiftmailer via OVH mail
我想向用户发送确认邮件。我确实使用 composer 安装了 swiftmailer,这些是我在参数中的配置。 yml 和 config.yml
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: xxxxx@xxxxxx.com
mailer_password: xxxx
secret: ea293ee3152cb8522e591a6cb821f950cc67f499
spool:
type: file
mailer_port: 587
mailer_encryption: tls
mailer_logging: '%kernel.debug%'
config.yml
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
我将此代码添加到我的控制器并进行了测试,但没有发送任何内容:
$message = \Swift_Message::newInstance()
->setSubject('hello')
->setFrom('example@gmail.com')
->setTo('xx.xx@xxx.tn')
->setBody('@servicom/pages/profile_commercial.html.twig', 'text/html');
# Send the message
$this->get('mailer')
->send($message);
我想问一下是配置问题还是代码问题
提前致谢。
看看你是否需要一些其他参数,比如加密(通常是 tls)或端口(通常是 587)。
添加属性的文档there
最后我通过先调试然后添加 ini_set()
解决了这个问题,所以我分享了这个解决方案:
Parameters.yml :
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: ssl0.ovh.net
mailer_user: xxxx@myhost.com
mailer_password: toguess
encryption: ssl
auth_mode: login
secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
将此添加到函数发送中:
ini_set('SMTP','ssl0.ovh.net');
ini_set('smtp_port',587);
这是用于调试的:
if ( $this->get('mailer')->send($message)) {
echo '[SWIFTMAILER] sent email to ' . 'malek.zarkouna@esprit.tn';
echo '' . $mailLogger->dump();
} else {
echo '[SWIFTMAILER] not sending email: ' . $mailLogger->dump();
}
我想向用户发送确认邮件。我确实使用 composer 安装了 swiftmailer,这些是我在参数中的配置。 yml 和 config.yml
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: xxxxx@xxxxxx.com
mailer_password: xxxx
secret: ea293ee3152cb8522e591a6cb821f950cc67f499
spool:
type: file
mailer_port: 587
mailer_encryption: tls
mailer_logging: '%kernel.debug%'
config.yml
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
我将此代码添加到我的控制器并进行了测试,但没有发送任何内容:
$message = \Swift_Message::newInstance()
->setSubject('hello')
->setFrom('example@gmail.com')
->setTo('xx.xx@xxx.tn')
->setBody('@servicom/pages/profile_commercial.html.twig', 'text/html');
# Send the message
$this->get('mailer')
->send($message);
我想问一下是配置问题还是代码问题
提前致谢。
看看你是否需要一些其他参数,比如加密(通常是 tls)或端口(通常是 587)。
添加属性的文档there
最后我通过先调试然后添加 ini_set()
解决了这个问题,所以我分享了这个解决方案:
Parameters.yml :
parameters:
database_host: 127.0.0.1
database_port: null
database_name: xxxxx
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: ssl0.ovh.net
mailer_user: xxxx@myhost.com
mailer_password: toguess
encryption: ssl
auth_mode: login
secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
将此添加到函数发送中:
ini_set('SMTP','ssl0.ovh.net');
ini_set('smtp_port',587);
这是用于调试的:
if ( $this->get('mailer')->send($message)) {
echo '[SWIFTMAILER] sent email to ' . 'malek.zarkouna@esprit.tn';
echo '' . $mailLogger->dump();
} else {
echo '[SWIFTMAILER] not sending email: ' . $mailLogger->dump();
}