1

在用户完成我的表单后,我一直在寻找如何在 php 中自动发送简单电子邮件的几天甚至几周。我尝试过 Pear、PHP 邮件、Swiftmailer,更改了我的 php.ini,尝试了不同的服务器,但我都因为没有工作而发疯。我还没有成功发送一封电子邮件。我无休止地搜索,但我仍然不知道该做什么以及为什么没有任何工作。目前我正在使用 Swiftmailer(第二轮)。我用代码设置了一个测试页面:

<?php
require_once 'swift/lib/swift_required.php';


// CREATE TRANSPORT CONFIG
$transport = Swift_MailTransport::newInstance();


// CREATE MSG
$message = Swift_Message::newInstance();

// SET PRIORITY TO HIGH
$message->setPriority(2);

// SUBJECT
$message->setSubject('Subject');

// FROM
$message->setFrom(array('example@btopenworld.com'));

// TO
$message->setTo(array('example@googlemail.com'));

// EMAIL BODY
$message->setBody('Test');

// SEND
$mailer = Swift_Mailer::newInstance($transport);
$mailer->send($message);

if (!$mailer->send($message, $failures)) {
echo "Failures:";
print_r($failures);
}


?>

看一个类似的帖子有人建议代码的最后一部分来查看错误,我的错误是:

Failures:Array ( [0] => example@googlemail.com )

无论我将其更改为什么电子邮件(全部使用我拥有的电子邮件,所以是真实的电子邮件),它都不起作用。如果有人有任何帮助或建议,将不胜感激。

4

1 回答 1

0

example@btopenworld.com

除非您使用 btopenworld 服务器来发送电子邮件,否则这是行不通的。电子邮件 from地址需要与您发送消息的服务器相关联。您可以将BT地址放入reply-to标头中。

此外,SwiftMailer 应该有一个“调试”开关,可以准确地告诉你出了什么问题,但我现在在文档中找不到它。是一个 Swiftmailer 的记录器插件,如果其他所有方法都失败了,它应该会有所帮助。

于 2013-02-04T17:59:58.227 回答