我的页面上有一个表单。当用户点击发送按钮时 - 它应该发送一封电子邮件,其中包含他在表单中输入的详细信息。直到最近,表单都托管在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);
}
答案 0 :(得分:6)
在Windows环境中,PHP使用Linux二进制sendmail(或替代)
的SMTP您需要根据this page编辑php.ini才能通过mail()函数发送电子邮件。
答案 1 :(得分:0)
在Linux上,PHP使用名为sendmail的应用程序。当然,Windows上没有类似的应用程序。正如php.ini文件所说,为了能够使用邮件功能,您需要设置邮件服务器坐标。如果您没有邮件服务器,则无法从PHP发送电子邮件。当然你可以使用像gmail这样的外部服务器。