php电子邮件和smtp [重复]

Posted

技术标签:

【中文标题】php电子邮件和smtp [重复]【英文标题】:php email and smtp [duplicate] 【发布时间】:2011-11-29 00:18:18 【问题描述】:

我有一个 php 函数可以很好地发送电子邮件,但我希望它使用我在 ini.set 函数中指定的 smtp 服务器。

如果我删除这 3 行代码,电子邮件仍然可以正常发送。

我想使用 smtp 服务器的原因是因为有时这对某些邮件主机不起作用。

connect();

    $username = mysql_real_escape_string($_POST['username']);

    $result = mysql_query("SELECT email FROM members WHERE username = '$_POST[username]'")
                or die ("Error - Something went wrong.");

    $row = mysql_fetch_array($result);
    $useremail = $row['email'];

    $name = "name";
    $mail_from = "noreply@name.com";
    $mail_to = "$useremail";
    $mail_body = "Hello. Thank you for registering. Please click the link below to confirm your email address. ";
    $mail_subject = "Confirm you registration".$name;

    $mail_header = "From: ".$name." <".$mail_from.">\r\n";

    ini_set ("SMTP", "ssl://serveraddress");
    ini_set("smtp_port","465");
    ini_set("sendmail_from","noreply@name.com");

    $sendmail = mail($mail_to, $mail_subject, $mail_body, $mail_header);

    if($sendmail == true)  mail("john@name.com", "email sent ok", "email sent to '$_POST[email]'", "yea sent ok");
    Else  mail("john@name.com", "email ERROR", "email not sent to '$_POST[email]'", "yea we got a problem");


【问题讨论】:

您遇到什么错误?您知道 SMTP 发送仅限于 Windows 服务器吗? 这很奇怪。我没有错误。它可以很好地发送到gmail,但不会出现到hotmail。 (它不在任何地方的垃圾邮件或垃圾邮件中)而且我从来不知道 smtp 发送仅限于 Windows 服务器。这种方式在linux服务器上可以吗? “这是我的代码,修复它”问题是不允许的。 @OZ_ 它不是“这是我的代码,适合它”的问题。我试图找出它为什么不使用 ini.set 函数。 【参考方案1】:

如果您真的想在您的 Web 应用程序中发送群发邮件,我会查看 SwiftMailer 库,它免费且相对容易设置,您可以实时设置自己的 SMTP 传输器。

除此之外,我在向 hotmail 和 yahoo 发送邮件时遇到了问题,之前当您使用“mail()”函数时电子邮件无法到达那里。请记住,网络电子邮件客户端对标题、结构和安全性非常挑剔,并且可能会轻易拒绝非真实客户端编写的电子邮件。

如果您想测试类似的内容,只需使用本地地址@您的域电子邮件,这通常不会将其过滤掉。现在,如果邮件没有到达那里,你就知道这是另一回事了。

【讨论】:

好的,如果我更改标题并设置 hotmail 和 yahoo 帐户并确保它们都可以访问,我应该没问题吗?它并不是真正的大量电子邮件,它每天大约有 20 封电子邮件左右。希望随着时间的推移而增加。 是的,使用标题和内容结构。请注意,如果您发送 20 封电子邮件或 200 封电子邮件或 2000 封电子邮件,则它是群发邮件。如果您向管理员之类的人发送消息,说明在他的网站上下了新订单,那么现在这是一个目标电子邮件:) 好的,感谢您的帮助。生病看看swiftmailer。似乎它可以使用内置的 PHP 邮件功能:)

以上是关于php电子邮件和smtp [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP使用谷歌应用smtp发送电子邮件[重复]

PHP 使用SMTP和PHP验证电子邮件

使用 Gmail SMTP 和 System.Net.Mail 发送电子邮件 [重复]

在XAMPP上使用PHP邮件功能[重复]

使用SMTP和PHP验证电子邮件

使用cloudflare时的php邮件和SMTP