【发布时间】:2014-01-21 16:57:48
【问题描述】:
我有一个注册脚本,可以向注册的人发送电子邮件。
//// Set headers ////
$headers = 'MIME-Version: 1.0' . "rn";
$headers .= "Content-type: textrn";
$headers .= "From: $from";
/// Send the email now ////
mail($email1, $subject, $message, $headers, '-f nleachman@stayontrack.net');
//mail($email1, $subject, $message, $headers, '-f noreply@your-email.com');
$db->commit();
echo "Thanks for joining! Check your email in a few moments to activate your account so that you may log in. See you on the site!";
$db = null;
exit();
}
catch(PDOException $e){
$db->rollBack();
echo $e->getMessage();
$db = null;
exit();
}
这是我用于配置的 SMTP 服务器:
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = nleachman@stayontrack.net
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
当我尝试运行我的登录脚本时,我会得到这个:
感谢您的加入!请稍后检查您的电子邮件以激活您的帐户,以便您可以登录。我们网站上见!
我的问题是,注册的人永远不会收到电子邮件。起初我认为这可能只是 localhost 上的一个不可能的功能。然而,我看到了一些对其他人有用的代码,但给了我一个错误,比如......
变量 $From 未设置
如何配置我的代码以使其运行时不会出错?
另外,我如何配置代码以确保电子邮件发送给谁收到它?
【问题讨论】:
-
您需要使用 SMTP 验证(用户名和密码)才能使用 gmail 的 smtp 服务器。我会研究 PHPmailer 或其他一些允许 smtp 身份验证的 php 邮件包。
-
我下载 PHPMailer 作为最后的手段。我试试看。