1

我使用来自尼泊尔的 adsl net 和 iam。

; For Win32 only.
; http://php.net/smtp
SMTP = smtp.ntc.net.np
; http://php.net/smtp-port
smtp_port = 25

为什么电子邮件不起作用?

4

2 回答 2

1

您的 SMTP 配置正常!好像你有错过标题。别担心,这里有完整的描述和示例

对于 ADSL 互联网

SMTP = smtp.ntc.net.np

对于 WorldLink 互联网

SMTP = smtp.wlink.com.np

例如(对于 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);

请记住包含标题,否则您将收到错误消息:)

于 2013-05-29T05:55:49.053 回答
1

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”。

于 2013-05-29T06:00:10.857 回答