2012-12-31 87 views
1

我搜索了stackoverflow和谷歌找到如何设置xampp,mercuryphp代码与窗口服务器2008 r2发送邮件。xampp php发送邮件

而且随着教程发现我可以用Mail::factorysmtp.gmail.com发送邮件,并且还可以通过使用水星文件 - >发送邮件)发邮件,水星注册[email protected]_domain_name.com。所以我尝试使用php代码发送邮件。但是我的情况并非如此。

这里是我的CONFIGS:

C:/xampp/apache/php.ini

sendmail_path = "\xampp\sendmail\sendmail.exe -t -i" 

sendmail.ini

smtp_server=my_domain_name.com 
smtp_port=25 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected]_domain_name.com 
auth_password=my_password 
[email protected]_domain_name.com 
hostname=my_domain_name.com 

代码PHP

$to = $email; 
$subject = "Hello"; 
$message = "How are you ?"; 
$from = "[email protected]_domain_name.com"; 
$headers = "From:" . $from; 
$result = mail($to,$subject,$message,$headers); 

if($result){ 
    echo "Mail Sent." . $result; 
} 
else{ 
    echo "Failure." . $result; 
} 

我检查C:\xampp\sendmail\debug.log并得到错误

--- MESSAGE END --- 
12/12/31 06:46:04 ** Connecting to my_domain_name.com:25 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Disconnected. 
12/12/31 06:46:06 ** Socket Error # 10061<EOL>Connection refused. 

我在哪里错了?你能在这里帮我吗?

+1

你的''debug.log'插座错误[..]连接refused'表明没有SMTP服务器实际上是在回答'my_domain_name.com:25'确保有一个smtp服务器启动并运行,端口25没有被防火墙阻止。 –

+0

@MichelFeldheim谢谢你的回答,我检查我的窗口防火墙,SMTP端口25允许入站规则,但仍然无法工作。我如何知道smtp服务器启动并运行? – whitebox

回答

3

大部分时间都是服务器ip的问题。 因为大多数提供商不允许来自动态ips,从没有神spf记录的服务器的流量...

解决方案是,建立一个gmail帐户,并通过gmail或房屋内部交换服务器转发所有流量。 XAMPP Sendmail using Gmail account

+0

谢谢你的回答。我可以用我的Gmail帐户发送邮件,但不想使用Gmail帐户发送邮件。我想为我的域创建新帐户,例如[email protected]_domain_name.com发送邮件。 – whitebox

+0

你在哪里托管你的域名?你是不是已经有了电子邮件提供商?创建一个帐户,并为你使用smtp登录数据sendmail.ini – GreenRover

+0

谢谢你的回答。这是否意味着我需要为我的域名购买电子邮件?我在Mercury为我的域创建了一封电子邮件(例如:[email protected]_domain_name.com),并使用Mercury(文件 - >发送邮件消息)从这个电子邮件地址发送邮件到某些雅虎邮件。那么为什么我需要为我的域名购买电子邮件?请解释我,我很感激。 – whitebox