【发布时间】:2013-05-29 05:51:44
【问题描述】:
我用的是尼泊尔的adsl net和iam。
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.ntc.net.np
; http://php.net/smtp-port
smtp_port = 25
为什么电子邮件不起作用?
【问题讨论】:
我用的是尼泊尔的adsl net和iam。
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.ntc.net.np
; http://php.net/smtp-port
smtp_port = 25
为什么电子邮件不起作用?
【问题讨论】:
您的 SMTP 配置正常!好像你有错过标题。别担心,这里有完整的描述和示例
ADSL上网
SMTP = smtp.ntc.net.np
对于 WorldLink 互联网
SMTP = smtp.wlink.com.np
例如 (FOR WORLDLINK)
1) 打开“php.ini”。
2) 在 php.ini 文件中搜索名为“SMTP”的属性。
SMTP = smtp.wlink.com.np
smtp_port = 25
3) 重新启动 apache 服务器,以便重新加载 PHP 模块和属性。
4) 现在尝试使用 mail() 函数发送邮件,
mail("you@yourdomain.com","test subject","test body");
你可能会收到这样的警告,因为不包括标题
5) 现在指定以下标头并尝试再次发送邮件,
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: sender@sender.com' . "\r\n";
mail("you@yourdomain.com","test subject","test body",$headers);
记得包含标题,否则你会收到错误消息:)
【讨论】:
1) 打开“php.ini”。您应该知道它的位置,因为它取决于您正在运行的特定服务器。
2) 在 php.ini 文件中搜索名为“SMTP”的属性。
通常你可以找到“SMTP=localhost”这一行。将 localhost 更改为 ISP 的 smtp 服务器名称。而且,还有一个名为“smtp_port”的属性应该设置为 25。我在 php.ini 文件中设置了以下值。
SMTP = smtp.wlink.com.np
smtp_port = 25
3) 重新启动 apache 服务器,以便重新加载 PHP 模块和属性。
4) 现在尝试使用 mail() 函数发送邮件,
mail(“you@yourdomain.com”,”test subject”,”test body”);
你可能会收到这样的警告,
*警告:mail() [function.mail]:“sendmail_from”未在 php.ini 中设置,或 C:\Program Files\xampp\htdocs\testmail.php 第 1 行中缺少自定义“From:”标头*
5) 现在指定以下标头并尝试再次发送邮件,
$headers = ‘MIME-Version: 1.0′ . “\r\n”;
$headers .= ‘Content-type: text/html; charset=iso-8859-1′ . “\r\n”;
$headers .= ‘From: sender@sender.com’ . “\r\n”;
mail(“you@yourdomain.com”,”test subject”,”test body”,$headers);
就是这样,邮件从本地主机发送到“you@yourdomain.com”。
注意:一些 smtp 服务器会验证发件人的电子邮件地址,因此“sender@sender.com”位置的电子邮件地址应该是有效且现有的电子邮件地址否则邮件可能不会被发送到“you@yourdomain.com”。
【讨论】: