从Windows服务器发送PHP邮件

时间:2013-06-16 17:18:27

标签: email windows-server-2008 php

我的页面上有一个表单。当用户点击发送按钮时 - 它应该发送一封电子邮件,其中包含他在表单中输入的详细信息。直到最近,表单都托管在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);
}

2 个答案:

答案 0 :(得分:6)

在Windows环境中,PHP使用Linux二进制sendmail(或替代)

的SMTP

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

答案 1 :(得分:0)

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