我的代码是:
<?php
if(isset($_POST['submit'])){
//veryfing the name
if(empty($_POST['name'])){ ?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>PLease enter your name .</div>
<?php}
else{
$name = htmlentities($_POST['name']);
}
//veryfing the email
if(empty($_POST['email'])) { ?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>PLease enter your email .</div>
<?php}
else if(filter_var($_POST['email'] , FILTER_VALIDATE_EMAIL === false)){ ?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>PLease enter a valid email .</div>
<?php }
else{
$email ="<". htmlentities($_POST['email']).">";
}
if(empty($_POST['message'])){?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>PLease enter some message .</div>
<?php}
else{
$message = htmlentities($_POST['message']);
}
if(empty($_POST['name'] ) or empty( $_POST['email']) or empty($_POST['message']) ){?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>Something went wrong ! .</div>
<?php}
else{
$headers = 'From: {$email}' . "\r\n" .
'Reply-To: {$email}' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$send_mail = mail("seiramami12@gmail.com" , "An email from Omarmannan.net" , $message , $headers);
}
if(!$send_mail){?>
<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>Something went wrong ! .</div>
<?php }
else{
echo '<div class="alert alert-success">Email successfully sent. Thank you for your message.</div>';
}
}?>
但我无法发送邮件。我一直在使用自己的个人网站。在我的联系页面中,我无法使用此代码发送邮件。单击“提交”按钮后,它将显示一个空白页面。
答案 0 :(得分:1)
php mail()函数在某些时候表现出意外。
根据我的经验 - 以及其他人 - mail()函数不是特别可预测,或者>有帮助。
值得注意的是,mail()函数在Linux和Windows&gt;服务器之间的行为完全不同。在linux上它使用sendmail,但在Windows上它使用SMTP。
为了使mail()函数能够在所有php.ini中正常工作,需要正确配置&gt;指定sendmail或SMTP服务器的位置。
mail()的问题在于它“试图”简化事情,以至于由于界面设计不佳而导致事情变得更加复杂。 Swift Mailer的开发人员已经付出了很多努力,使邮件传输工作具有合理程度的一致性。
我建议您使用SwiftMailer库发送邮件,这非常强大。