6

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

2 回答 2

7

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

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

于 2013-06-16T17:22:49.657 回答
0

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

于 2013-06-16T17:22:57.343 回答