此功能仅适用于我的网络服务器,但不适用于本地计算机。
我正在寻找最好的PHP函数来发送带有身份验证的电子邮件,这可以在任何机器上运行而无需修改php.ini
我正在使用PHP与IIS和Windows
感谢
答案 0 :(得分:3)
另一种可能性是通过pear安装mail和net_smtp。
pear install Mail
pear install Net_Smtp
然后您可以将带有SMTP身份验证的邮件发送到另一台服务器:
require_once "Mail.php";
$body = "Mein Mail Body\n";
$subject = "Mail mit SMTP Authentifizierung";
$mail_to = "zumir@meinemailserver.de";
$mail_from = "phpmailer@meinemailserver.de";
//SMTP Verbindungsdaten
$host = "smtp.meinemailserver.de";
$username = "phpmailer";
$password = "SuperGeheim";
$smtp = Mail::factory('smtp',
array (
'host' => $host,
'auth' => true,
'username' => $username,
'password' => $password
));
$headers = array (
'From' => $mail_from,
'To' => $mail_to,
'Subject' => $subject
);
$mail = $smtp->send($mail_to, $headers, $body);
if (PEAR::isError($mail)) {
echo "Fehler beim Versender der E-Mail : ". $mail->getMessage();
}
(摘自http://www.jgeppert.com/2009/06/php-e-mail-mit-smtp-authentifizierung-versenden/)
答案 1 :(得分:1)
您应该运行本地smtp server。只要该程序正在运行,这将使mail()
正常工作。还有其他类似的服务器会将邮件写入文件,因此在开发环境中实际上没有邮件发送。
Mail()
是发送邮件的方式。你只是在本地配置问题:D
答案 2 :(得分:0)
如果您只需要一个可以在自己的盒子中测试的工作SMTP服务器,请在您的盒子上运行这个小家伙,这样您就可以在不更改邮件处理代码的情况下测试邮件。
http://www.softstack.com/freesmtp.html(免费的独立简单服务器)
答案 3 :(得分:0)
本周早些时候我遇到了这个问题,发现SwiftMailer。我只听说过有关它的好消息。工作得很好。
它可以通过SMTP,sendmail或mail()
发送。对于本地开发,您必须连接到SMTP服务器,无论是本地运行还是外部服务器。
答案 4 :(得分:0)
你可以使用phpmailer库,通过这个tutorial安装phpmailer,更改用户名,密码,From和To地址。喜欢发送电子邮件。