我正在使用邮件表单,但邮件无法发送到gmail收件箱!!
这是我使用的代码:
<?php
if (isset($_POST['send'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$emailTo = 'example@gmail.com';
$subject = 'Sujet: '.$name;
$body = "Full Name: $name \n\n Message: $message \n\n Sent by : $email";
$headers = 'De: ' .' <'.$email.'>' . "\r\n";
if(mail($emailTo, $subject, $body, $headers)){
echo "Success";
}else{
echo "Error";
}
}
&GT;
答案 0 :(得分:0)
如果要直接从localhost发送电子邮件,则需要安装邮件传输代理(MTA),或者如果您愿意,还需要安装SMTP服务。
IIS提供了一个。您可以找到其他人on Google。
您还可以更改php.ini
mail settings。这不会每次使用localhost
来发送电子邮件,而是使用允许您从PHP脚本发送电子邮件的中继主机。
答案 1 :(得分:0)
尝试此代码:
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$email_to = "example@email.com";
$email_subject = "Email for: ".$name;
$headers = $headers = 'From: '.$email."\r\n".
'BCC: '.$email_to_bcc."\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";
if (mail($email_to, $email_subject, $message, $headers)) {
echo "Mail sent";
}
当然,您的服务器必须能够通过PHP邮件功能发送电子邮件。最好通过SMTP设置发送邮件:使用此脚本:https://github.com/Synchro/PHPMailer 易于设置和工作。