【问题标题】:Sending PHP mail from Windows server从 Windows 服务器发送 PHP 邮件
【发布时间】:2013-06-12 17:12:16
【问题描述】:

我的页面上有一个表格。当用户点击发送按钮时 - 它应该发送一封电子邮件,其中包含他在表单中输入的详细信息。直到最近,表单都托管在 Linux 服务器上,我对此没有任何问题 - 邮件已发送和接收。最近我不得不搬到共享的 Windows 服务器上,因为搬家后邮件没有发送。这是应该发送邮件的代码:

function send_contact_form($strName, $strEmail, $strPhone, $strMessage)
{
$to = 'mymail@mysite.com';
$subject = 'From the site';
$message =  '<html lang="HE">
            <head>
            <title>
                '.$subject.'
            </title>
            </head>
            <body style="text-align:right; direction:rtl; font-family: Arial;">
                Name: '.$strName.'<br>Email: '
                .$strEmail.'<br>Phone: '.$strPhone
                .'<br><br>Message: <br>'.$strMessage.'
            </body>
        </html>';       
$email = $strEmail;
$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$header .= "From: $email\r\nReply-To: $email" . "\r\n";

mail($to, $subject, $message, $header);
}

【问题讨论】:

标签: email windows-server-2008 php


【解决方案1】:

在 windows 环境中 PHP 使用 Linux 二进制 sendmail 的 SMTP(或替代)

您需要根据this page 编辑php.ini 才能通过mail() 函数发送电子邮件。

【讨论】:

  • 我想确保我理解正确:我是否只需要编辑 php.ini 文件而根本不需要更改上面的代码?还是我还需要对其进行一些更改?
  • 正确你只需要编辑 php.ini 而不是你的代码。在 Windows 下,PHP 使用设置 SMTP = 'smtpserver' 并让 mail() 函数将邮件发送到该服务器。
【解决方案2】:

在 Linux 上,PHP 使用一个名为 sendmail 的应用程序。当然,Windows 上没有类似的应用程序。正如 php.ini 文件所说,为了能够使用邮件功能,您需要设置邮件服务器坐标。如果您没有邮件服务器,则无法从 PHP 发送电子邮件。当然你可以使用一些外部服务器,比如 gmail。

【讨论】:

    猜你喜欢
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    相关资源
    最近更新 更多