如何从localhost发送php中的电子邮件?

时间:2014-02-09 12:20:45

标签: php

我无法使用php脚本从localhost发送电子邮件 这是我的代码

<?php

ini_set("SMTP","bhoi@gmail.com");

ini_set("smtp_port","25");

ini_set('sendmail_from', 'bhoi@gmail.com');

//define the receiver of the email
$to = 'deepan@gmail.com';

//define the subject of the email
$subject = 'Test email'; 

//define the message to be sent. Each line should be separated with \n
$message = "Hello World!\n\nThis is my first mail."; 

//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: bhoi@gmail.com\r\nReply-To: bhoi@gmail.com";

//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 

echo $mail_sent ? "Mail sent" : "Mail failed";

&GT;

php.ini文件......

[邮件功能]

仅适用于Win32。

SMTP = localhost

smtp_port = 25

仅适用于Win32。

sendmail_from =bhoi@gmail.com

输出是“邮件失败”

请帮我解决我的问题。

3 个答案:

答案 0 :(得分:2)

我会告诉你最简单的方法。

您可以使用开源Papercut并下载应用程序并在不对xampp ./hacking/test-module -m delete_sdb_domain.py -a "sdb_domain_name=zzz" php.ini文件进行任何更改的情况下运行它。然后当你在php中运行你的邮件时,你将直接进入剪纸应用程序。这是应用程序很棒,你不需要配置任何东西。

注意:请不要在xampp中进行任何更改,例如更改sendmail.ini。只需保留默认的xampp设置。

答案 1 :(得分:1)

您需要安装smtp服务器或为公共邮件服务器设置配置

看一下这个例子

SMTP = smtp.yourdomain.com
smtp_port = 25
username = info@yourdomain.com
password = yourmailpassord
sendmail_from = info@yourdomain.com

答案 2 :(得分:0)

我尝试使用假的sendmail for windows,它对我有用。你可以在这里看看。 http://glob.com.au/sendmail/ 之后,您必须将php.ini中的sendmail_path设置为硬盘驱动器上sendmail路径的路径。