微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP SwiftMailer Localhost测试设置

我刚刚开始学习如何使用SwiftMailer,我无法从本地主机发送简单的测试消息.下面是我尝试使用的代码.

//Pass it as a parameter when you create the message
$message = Swift_Message::newInstance();
$message->setSubject('My subject');
$message->setFrom(array('noreply@domain.com' => 'No Reply'));
$message->setTo(array('myemail@domain.com' => 'My Name'));

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 25);
//Supposed to allow local domain sending to work from what I read
$transport->setLocalDomain('[127.0.0.1]');

$mailer = Swift_Mailer::newInstance($transport);
//Send the message
$result = $mailer->send($message);

这是我的错误消息的一部分,

Warning:  fsockopen() [<a href='function.fsockopen'>function.fsockopen</a>]:PHP_network_getaddresses: getaddrinfo Failed: Name or service not kNown in /path/Swift/Transport/StreamBuffer.PHP

更新

我用gmail工作了.我将Swift_SmtpTransport行更改为以下内容,

$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('username')->setPassword('password');

解决方法:

localhost是当前机器的别名(在这种情况下,PHP运行的机器).如果你真的想用localhost发送邮件,你可以这么说:

$transport = Swift_SmtpTransport::newInstance('localhost', 25);

…但您还需要安装和配置自己的邮件服务器.如果您不知道这是什么,我建议您使用邮件提供商的SMTP服务器.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐