我想使用公司网站中的联系表发送电子邮件, 我在php中设置了电子邮件配置,这是我的表格:
<form action="sendmail.php" method="post" class="form form--contacts">
<input type="text" name="name" class="form__input" placeholder="Name" required>
<input type="email" name="email" class="form__input" placeholder="Email" required>
<input type="text" name="subject" class="form__input" placeholder="Subject" required>
<textarea class="form__textarea" name="text" placeholder="Text"></textarea>
<input class="form__btn" name="send" type="submit" value="Send">
</form>
,这里是 sendmail.php :
<?php
if($_POST['send']){
$admin = 'myname@mydomain.co.id';
$name = htmlentities($_POST['name']);
$email = htmlentities($_POST['email']);
$subject = htmlentities($_POST['subject']);
$text = htmlentities($_POST['text']);
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$name.' <'.$email.'>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$pengirim = 'From: '.$name.' <'.$email.'>';
if(mail($admin, $subject, $text, $headers)){
echo 'SUCCESS: Mail Successfully sending';
}else{
echo 'ERROR: Error Sending Email';
}
}else{
header("Location: index.php");
}
?>
答案 0 :(得分:0)
检测垃圾邮件的原因可能很少。
首先,您的标题中没有“ To:”。
第二,您依赖系统邮件,无法控制从哪个帐户发送邮件。如果您的“发件人:”标头与您的SMTP连接中的实际“邮件发件人:”不同,则这是垃圾邮件过滤器的红色标记。
您应该尝试使用PHPMailer而不是内置函数。 (https://github.com/PHPMailer/PHPMailer)或其他替代方法。
在此信息中可能会找到一些信息:Sending email with PHP from an SMTP server