用php按下按钮后如何发送电子邮件?

时间:2012-10-10 22:45:09

标签: php email button send

我安装了带有apache和mercury的xampp。我已经配置了水银,所以我可以从我的脚本发送电子邮件,我已经测试过并成功设法将一些电子邮件发送到我的电子邮件地址。

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

Thanx!

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.';
}

?>

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

老实说,我没有进入水星的深处,因为我很久以前就采用了PHPMailer路线。

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

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

它还没有停在那里,例如它可能会决定你的应用程序的行为是可疑的,并且会停止允许它发送邮件,直到你通过网络从同一个mahcine登录。

如果您启用了两个因子身份验证...那么您的代码无法(或至少不应该)访问您的手机,您必须以某种频率登录才能保持其正常运行。

当然有一种方法可以解决这个问题,首先您应该转到Connected Sites, Apps, and Services页面,然后创建一个Application-specific password您的应用应该用来进行身份验证。然后转到Allow a new application to access your account页面,它将为您提供登录应用程序的时间。您可以在google's support页面了解更多信息。

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

  • 使用PHPMailer
  • 不再使用GMail,我最近开始使用mail.com来发送来自应用程序的邮件。