【问题标题】:How i can fix mail() function on PHP?我如何在 PHP 上修复 mail() 函数?
【发布时间】:2019-08-31 09:36:18
【问题描述】:

我将 Internet 信息服务 (IIS) 与 PHP 一起使用。但是 mail() 函数似乎不起作用。 起初我试图修复 php.ini。然后我下载了hMailServer。现在它显示“您的消息已发送!”但我的收件箱中没有任何消息。我还检查了垃圾邮件收件箱。但我什么都找不到。

<?php 

    error_reporting(-1);
    ini_set('display_errors', 'On');
    set_error_handler("var_dump");
    $name = $_POST['name'];
    $email = "yunishuseynzade1102@gmail.com";
    $message = "Hello how are you?";
    $from = 'dj.yunis.official@gmail.com'; 
    $to = 'yunishuseynzade1102@gmail.com'; 
    $subject = 'Customer Inquiry';
    $body = "From: $name\n E-Mail: $email\n Message:\n $message";
    if (mail($to, $subject, $body, $from)) { 
        echo '<p>Your message has been sent!</p>';
    } else { 
        echo '<p>Something went wrong, go back and try again!</p>'; 
    }


?>

【问题讨论】:

标签: php iis hmail-server


【解决方案1】:

您的 4 Parameter($from) 是错误的,因为它需要一个带有标题信息的字符串。 您只需在其中发布一封电子邮件。 将您的 $from 转换为:

$from = 'From: dj.yunis.official@gmail.com';

【讨论】:

  • 我更改了它但不起作用。写“消息已发送!”但我在收件箱中找不到它。
  • @YunisHuseynzade 如果您使用自己的邮件服务器,则无法从其他 Gmail 地址向 gmail 地址发送邮件。使用托管在 IIS 上的邮件地址
【解决方案2】:

在 IIS 中配置 SMTP 电子邮件:

  • 打开 iis 管理器。
  • 功能视图,双击 SMTP 电子邮件。
  • 在 SMTP 电子邮件页面的电子邮件地址文本框中键入发件人的电子邮件地址。
  • 在 SMTP 电子邮件页面上,选择任何传递方式。
  • 将电子邮件发送到 SMTP 服务器:
  • 如果选择将电子邮件存储在取件目录中,请键入批次 将电子邮件存储在取件目录文本框中的电子邮件位置。
  • 在“操作”窗格中单击应用。

在 php.ini 文件中设置以下设置:

[mail function]
SMTP=localhost
sendmail_from = string
smtp_port=25

更新:

您需要检查您的垃圾邮件文件夹。

以下是我的工作示例:

我的邮件发送代码:

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多