我正在尝试创建一个处理PayPal付款的测试网站。我试图在成功付款(这是我的IPN)后使用PHP SwiftMailer向用户发送电子邮件。PHP SwiftMailer无法在SMTP服务器上进行身份验证
这里是我的输运代码:
$transport = Swift_SmtpTransport::newInstance('smtp.googlemail.com', 465, 'ssl')
->setUsername('[email protected]')
->setPassword('xxxx');
$mailer = Swift_Mailer::newInstance($transport);
我试图用Googlemail电子邮件并在共享服务器托管之下,并都具有让出一个错误的问题另一封电子邮件。
不幸的是,我得到这个错误通常:
Fatal error: Uncaught exception 'Swift_TransportException' with message 'Failed to authenticate on SMTP server with username "[email protected]" using 2 possible authenticators' in /home/xxx/public_html/paypal/lib/classes/Swift/Transport/Esmtp/AuthHandler.php:184
Stack trace:
#0 /home/xxx/public_html/paypal/lib/classes/Swift/Transport/EsmtpTransport.php(312): Swift_Transport_Esmtp_AuthHandler->afterEhlo(Object(Swift_SmtpTransport))
#1 /home/xxx/public_html/paypal/lib/classes/Swift/Transport/AbstractSmtpTransport.php(120): Swift_Transport_EsmtpTransport->_doHeloCommand()
#2 /home/xxx/public_html/paypal/lib/classes/Swift/Mailer.php(80): Swift_Transport_AbstractSmtpTransport->start()
#3 /home/xxx/public_html/paypal/ipn.php(113): Swift_Mailer->send(Object(Swift_Message))
#4 /home/mctikudo/public_html/paypal/ipn.php(46): sendMail(Resource id #3, Array)
#5 {main} thrown in /home/xxx/public_html/paypal/lib/classes/Swift/Transport/Esmtp/AuthHandler.php on line 184
我已经做了一些研究,并尝试了几种办法,我的交通环境。但似乎还没有任何工作。直到我试图将我的IPN代码放到另一个托管公司的另一台服务器上,并且令人惊讶的是,它工作正常。与另一个代码相同的代码。
这就是为什么我猜想有其他服务器中有东西必须设置或什么的。
是否有我需要确保在我的服务器上启用SwiftMailer的工作?
有些域不要让其他域发送邮件,一次只能发送电子邮件至“[email protected]”。检查这里是不是这种情况。例如awardspace.net。 – Jinandra
我通过在这里应用答案使其工作:http:// stackoverflow。com/a/7170687/882773 – Atasha
我在此处按照以下建议进行了此项工作:http://stackoverflow.com/questions/7170607/hostgator-wont-send-mail-via-php-swiftmail-api/7170687#7170687 – Atasha