好的,所以您的代码对我来说看起来不错,如果您想更改消息,您应该更改 echo 语句中的文本。喜欢echo "Some fancy html in here";
。关于邮件未接收的第二个问题可能是由于 php 默认情况下依赖本地 smtp 服务器来发送邮件,这在 Windows 上不存在,因此如果您可能有 xampp 并且在 linux 上取决于很多,它根本不会发送它它可能正在发送它并将其放入您的垃圾邮件文件夹中的变量,或者它可能根本不发送它。如果您想使用第三方 smtp 服务器(例如您的 gmail)仅用于测试目的,最好和最简单的方法是使用一些库,例如:
http://swiftmailer.org/docs/sending.html
并定义第三方 smtp 详细信息。
示例代码:
require_once 'lib/swift_required.php';
// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
->setUsername('your username')
->setPassword('your password')
;
/*
You could alternatively use a different transport such as Sendmail or Mail:
// Sendmail
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');
// Mail
$transport = Swift_MailTransport::newInstance();
*/
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('john@doe.com' => 'John Doe'))
->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
->setBody('Here is the message itself')
;
// Send the message
$result = $mailer->send($message);
我认为这很简单,您还可以添加:
if($result){ echo "Message has been sent"; }else{ echo "Error!"; }
最后。这应该够了吧...
顺便说一句,gmail的设置是:
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl');
并相应地使用您的 gmail 电子邮件和密码作为用户名和密码...