通过php到gmail的html电子邮件与邮件中的文本不兼容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过php到gmail的html电子邮件与邮件中的文本不兼容相关的知识,希望对你有一定的参考价值。
我有一个php脚本从我的网络发送电子邮件到Gmail。
PHP代码
$str = $_POST['to'];
$contacts=explode(",",$str);
foreach($contacts as $contact) {
$to = $contact;
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From: ".$_POST['from']. "
" .
"Reply-To: ".$_POST['reply']."
" .
"X-Mailer: PHP/" . phpversion();
if(mail($to, $subject, $message, $headers)){
echo "<SCRIPT LANGUAGE='javascript'>
window.alert('Email Sent Successfully')
window.location.href='dashboard.php';
</SCRIPT>";
}else{
echo "<SCRIPT LANGUAGE='JavaScript'>
window.alert('Email Not Sent')
window.location.href='dashboard.php';
</SCRIPT>";
}
}
}else{
}
}
html代码
<form method="POST" action="">
<table style="width:100%">
<tr>
<td>
<label >Your Email</label>
</td>
<td style="width:50%">
<input type="text" name="from" style="widht:100%" />
</td>
</tr>
<tr>
<td>
<label>Receipant(s)</label>
</td>
<td style="width:50%">
<input type="text" style="widht:100%"name="to" />
</td>
</tr>
<tr>
<td>
<label>Email for Reply</label>
</td>
<td style="width:80%">
<input type="text" style="widht:100%" name="reply" />
</td>
</tr>
<tr>
<td>
<label>Subject</label>
</td>
<td style="width:50%">
<input type="text" name="subject" />
</td>
</tr>
<tr>
<td>
<label>Message</label>
</td>
<td style="width:80%">
<textarea style="width:100%;height:300px" name="message" ></textarea>
</td>
</tr>
<tr>
<td></td>
<td>
<br>
<hr>
<button type="submit" class="btn btn-primary">Cancel</button>
<button id="send" type="submit" name="submit" class="btn btn-success">Submit</button>
</td>
</tr>
</table>
</form>
邮件正在发送但gmail文本未正确显示。我参考下面的图片,并在此处看到消息标签显示在“”中,这就是为什么它们不起作用。怎么可能让它变得可行。 enter image description here
答案
在你的标题中你必须告诉你发送HTML
消息
$headers = "Content-Type: text/html; charset=UTF-8
".
"From: ".$_POST['from']. "
" .
"Reply-To: ".$_POST['reply']."
" .
"X-Mailer: PHP/" . phpversion();
以上是关于通过php到gmail的html电子邮件与邮件中的文本不兼容的主要内容,如果未能解决你的问题,请参考以下文章
通过 Gmail API 发送电子邮件时应用 MSO 条件语句