使用PHP和MySQL自动发送电子邮件?

时间:2009-04-02 00:02:14

标签: php mysql automation email

如何向用户输入的电子邮件地址发送自动电子邮件?

我有Xampp,它是配备Apache的本地Web服务器,以及用于邮件的Mercury。

想法?

6 个答案:

答案 0 :(得分:2)

发送电子邮件:查看mail function

在linux中安排任务查找crontab。

要在Windows中安排任务,请在控制面板中查找任务计划。

不要使用Xampp进行生产。这是不安全的。

答案 1 :(得分:1)

而不是php的mail()函数,你应该使用类似http://swiftmailer.org的东西 您可以轻松地进行smtp身份验证,加密,mime-mail,字符编码,批量邮件...
而且您可以获得更可靠的错误报告。

答案 2 :(得分:1)

这不是你问题的答案,但无论如何都可能是相关的:

我对本地网络服务器的体验是邮件无法到达目的地。这取决于您的isp,但如果您每次连接到isp(拨号,adsl,有线)时都有更改的IP地址,则您的外发邮件很可能会被收件人邮件服务器拒绝。

许多针对其客户端的ip范围被垃圾邮件过滤器阻止。

至少我所处的范围是:)

答案 3 :(得分:1)

但要小心,因为坏人会编写脚本来提交包含大量电子邮件地址的表单并尝试发送垃圾邮件。他们还会(尝试)在提交的地址中嵌入\ r \ n以写出其他内容和标题。我做这样的事情:

function sanitize($s) {
  $badheaders = array("/to\:/i", "/from\:/i", "/bcc\:/i", "/cc\:/i");
  $s = preg_replace($badheaders, '(spam)', $s);
    if (strlen($s) > 2048) {
       $s = substr($s, 0, 2048);
       $s = $s." (TRUNCATED)";
    }
    return $s;
}

然后我在调用mail()之前通过sanitize()运行用户输入的字符串。 YMMV当然。

答案 4 :(得分:0)

php.net/mail

mail($to, $subject, $messge);

答案 5 :(得分:0)

您可以使用phpmailer通过SMTP协议发送邮件,此库非常好! (Wordpress CMS使用它!)