使用PHP发送邮件,未收到邮件
这是我的Send_Mail.php:使用PHP发送邮件,未收到邮件,php,email,Php,Email,这是我的Send_Mail.php: <?php // site owner infos $email_to = 'kaouach.ahmed@gmail.com'; $success_message = "Your message has been successfully sent."; $site_name = 'Personal Website'; // contact form fields $name = trim( $_POS
<?php
// site owner infos
$email_to = 'kaouach.ahmed@gmail.com';
$success_message = "Your message has been successfully sent.";
$site_name = 'Personal Website';
// contact form fields
$name = trim( $_POST['name'] );
$email = trim( $_POST['email'] );
$message = trim( $_POST['message'] );
$submitted = $_POST['submitted'];
// contact form submitted
if ( isset( $submitted ) )
{
// check for error
if ( $name === '' ){
$name_empty = true;
$error = true;}
elseif ... // Checking of others attributs
// If error
if ( isset( $error ) )
{
echo '<div class="alert alert-error contact-alert"><strong>UNSUCCESS! </strong><ul>';
if ($name_empty) {echo '<li>Required</li>';}
elseif ... // same for Other attribute
else{ echo '<li>An error has occurred while sending your message. Please try again later.</li>';}
echo "</ul></div>";
}
// no error, sending mail
if ( ! isset($error) )
{
$subject = 'Contact form message from your ' . $site_name . ' site';
$body = "Name: $name \n\nEmail: $email \n\nMessage: $message";
$headers = 'From: ' . $name . ' <' . $email . '> ' . "\r\n" . 'Reply-To: ' . $email;
mail( $email_to, $subject, $body, $headers );
echo '<div class="alert alert-success contact-alert"><strong>SUCCESS! </strong>' . $success_message . '</div>';
}
}
?>
当我发送邮件时,它会向我显示成功消息并发送,但当我选中我的gmail框时,什么也没有收到。
那么这里的问题是什么?如何解决?请
更新2
问题不是来自php文件,服务器上不允许匿名邮件发送,因此如何将SMTP、用户名和密码属性添加到我的php文件中 可能是电子邮件smtp服务器的问题。请确保邮件服务器工作正常。是否安装了邮件服务器?例如,sendmail或postfix?作为旁白,您确实意识到您正在一个广泛访问的网站上发布您的电子邮件地址,对吗?也就是说,问题可能来自很多地方,您应该一步一步地调试它:1)确保邮件已发送(PHP调试)2)确保邮件服务器接收并处理(日志)3)检查gmail是否认为使用诸如phpmailer等传输类发送邮件以及使用邮件服务器发送邮件不属于垃圾邮件。如果您打算使用gmail,则可以使用gmail的smtp。请确保选中google mail左侧栏上的“更多->所有邮件”。当电子邮件看起来像垃圾邮件时,谷歌倾向于将电子邮件排除在收件箱之外(与发件人地址不匹配的邮件服务器是垃圾邮件的一个重要标志)检查邮件的内容($email_to、$subject、$body、$headers);返回。检查您的php.ini配置。这是对我的SMTP服务器的测试: