1

我安装了 xampp 和 apache 和水星。我已经配置了mercury,所以我可以从我的脚本发送电子邮件,我已经对其进行了测试,并成功地向我的电子邮件地址发送了一些电子邮件。

我想在按下按钮后发送电子邮件,但以下脚本不起作用。你能告诉我我能做什么或代码有什么问题吗?

谢谢!

sample.php 的代码:

<form action="sample.php" method="post">
    <input type="submit" value="Send details" />
    <input type="hidden" name="button_pressed" value="1" />
</form>

<?php

if(isset($_POST['button_pressed']))
{
    $to      = 'example@example.com';
    $subject = 'the subject';
    $message = 'hello';
    $headers = '';
    mail($to, $subject, $message, $headers);

    echo 'Email Sent.';
}

?>
4

2 回答 2

0

老实说我还没有深入 Mercury,因为我很久以前就走 PHPMailer 路线了。

不过我可以告诉你,Gmail 很挑剔,它需要加密,我不知道邮件功能是否提供。

除此之外,它可能会禁止您的邮件服务器,例如使用 smtpd 它将允许我发送邮件一段时间,直到它们静默停止工作(我猜他们的验证需要一段时间)。

它还没有停止,例如它可能会确定您的应用程序的行为是可疑的,并且将停止允许它发送邮件,直到您通过网络从同一台机器登录。

而且,如果您启用了两因素身份验证……那么您的代码无法(或至少不应该)访问您的手机,您将不得不以一定的频率登录以使其正常工作。

当然有一种方法可以解决这个问题,首先你应该去Connected Sites, Apps, and Services页面,然后创建一个Application-specific password你的应用程序应该用来进行身份验证的页面。然后转到允许新应用程序访问您的帐户页面,它会给您时间使用该应用程序登录。您可以在google 的支持页面了解更多信息。

总而言之,我有两个建议:

  • 使用 PHPMailer
  • 不再使用 GMail,我最近开始使用mail.com 接收来自应用程序的邮件。
于 2012-10-10T23:29:50.953 回答
0

如果您在本地开发,则需要设置一些设置才能使用 SMTP。

这可能会有所帮助:http ://roshanbh.com.np/2007/12/sending-e-mail-from-localhost-in-php-in-windows-environment.html

于 2012-10-10T23:09:30.610 回答