Phpmailer 将电子邮件作为纯文本发送到电子邮件
Phpmailer sending email as plain text to emails
我是第一次遇到 phpmailer 的问题,有人知道为什么 phpmailer 会按如下方式发送电子邮件吗?它以某种方式没有将电子邮件转换为 html contecn 我似乎无法弄清楚为什么会这样
no=reply@domain.com
6:16 PM (0 minutes ago)
to me
--b1_948b9a2ff8436cf0db01abf3e30c0373
Content-Type: text/plain; charset=us-ascii
Request information form was submitted, details are given below.
Name
Email
Mobile
State
Plans
Destination
Total Travellers
Travel Within
Comments
debojit
no@email.com
451-245-7845
Georgia
Bags packed, I'm ready to go!
France
9 people
6-9 months
werwer
Regards,
company name
--b1_948b9a2ff8436cf0db01abf3e30c0373
Content-Type: text/html; charset=us-ascii
<h4>Request information form was submitted, details are given below.</h4>
<br/>
<table border="1" style="width:100%">
<tbody>
<tr>
<td><b>Name</b></td>
<td><b>Email</b></td>
<td><b>Mobile</b></td>
<td><b>State</b></td>
<td><b>Plans</b></td>
<td><b>Destination</b></td>
<td><b>Total Travellers</b></td>
<td><b>Travel Within</b></td>
<td><b>Comments</b></td>
</tr>
<tr>
<td>debojit</td>
<td>no@email.com</td>
<td>451-245-7845</td>
<td>Georgia</td>
<td>Bags packed, I'm ready to go!</td>
<td>France</td>
<td>9 people</td>
<td>6-9 months</td>
<td>werwer</td>
</tr>
</tbody>
</table>
<br/><br/>
Regards,
<br/>
company name
--b1_948b9a2ff8436cf0db01abf3e30c0373--
这是我发送邮件的方式
$mail = new Mail();
$mail->setFrom(senderemail);
$mail->addAddress(email);
$mail->addReplyTo($email);
$mail->subject($subject);
$mail->body($body);
//$mail->send();
if($mail->send()){
echo '<div class="alert alert-success" role="alert">Thanks for contacting us, we\'ll get back to you soon.</div>';
echo "<meta http-equiv='refresh' content='5;url=contact-us.php'>";
}else{
echo '<div class="alert alert-danger" role="alert">Some problem occurred, please <a href="contact-us.php">try again</a>.</div>';
echo "<meta http-equiv='refresh' content='5;url=contact-us.php'>";
}
}
我尝试添加 $mail->IsHTML(true);等等,但似乎没有任何效果,伙计们,这里可能出了什么问题?
这是完全捏造,与有效的 PHP 邮件程序代码只有很小的相似之处 – 它甚至无效 PHP!除非您使用的 wrapper/subclass 没有告诉我们?
$mail = new Mail();
$mail->setFrom(senderemail);
$mail->addAddress(email);
$mail->addReplyTo($email);
$mail->subject($subject);
$mail->body($body);
PHPMailer class 称为 PHPMailer
,而不是 Mail
。使用 Subject
属性 设置主题;没有subject()
这样的方法。同样,也没有body()
这样的方法;要设置正文,请设置 Body
属性。总体应该是:
$mail = new PHPMailer();
$mail->setFrom($senderemail);
$mail->addAddress($email);
$mail->addReplyTo($email);
$mail->Subject = $subject;
$mail->Body = $body;
PHPMailer 不进行任何 HTML 转换。创建作为消息正文的一部分发送的 HTML 完全取决于您,并且您还必须告诉它您正在使用 HTML,例如:
$mail->isHTML();
$mail->Body = '<h1>Lovely HTML</h1>';
$mail->AltBody 'boring plain text';
所有 文档和示例向您展示了这一点,所以也许您应该读一读。
问题已通过启用 smtp 登录详细信息解决
我是第一次遇到 phpmailer 的问题,有人知道为什么 phpmailer 会按如下方式发送电子邮件吗?它以某种方式没有将电子邮件转换为 html contecn 我似乎无法弄清楚为什么会这样
no=reply@domain.com
6:16 PM (0 minutes ago)
to me
--b1_948b9a2ff8436cf0db01abf3e30c0373
Content-Type: text/plain; charset=us-ascii
Request information form was submitted, details are given below.
Name
Email
Mobile
State
Plans
Destination
Total Travellers
Travel Within
Comments
debojit
no@email.com
451-245-7845
Georgia
Bags packed, I'm ready to go!
France
9 people
6-9 months
werwer
Regards,
company name
--b1_948b9a2ff8436cf0db01abf3e30c0373
Content-Type: text/html; charset=us-ascii
<h4>Request information form was submitted, details are given below.</h4>
<br/>
<table border="1" style="width:100%">
<tbody>
<tr>
<td><b>Name</b></td>
<td><b>Email</b></td>
<td><b>Mobile</b></td>
<td><b>State</b></td>
<td><b>Plans</b></td>
<td><b>Destination</b></td>
<td><b>Total Travellers</b></td>
<td><b>Travel Within</b></td>
<td><b>Comments</b></td>
</tr>
<tr>
<td>debojit</td>
<td>no@email.com</td>
<td>451-245-7845</td>
<td>Georgia</td>
<td>Bags packed, I'm ready to go!</td>
<td>France</td>
<td>9 people</td>
<td>6-9 months</td>
<td>werwer</td>
</tr>
</tbody>
</table>
<br/><br/>
Regards,
<br/>
company name
--b1_948b9a2ff8436cf0db01abf3e30c0373--
这是我发送邮件的方式
$mail = new Mail();
$mail->setFrom(senderemail);
$mail->addAddress(email);
$mail->addReplyTo($email);
$mail->subject($subject);
$mail->body($body);
//$mail->send();
if($mail->send()){
echo '<div class="alert alert-success" role="alert">Thanks for contacting us, we\'ll get back to you soon.</div>';
echo "<meta http-equiv='refresh' content='5;url=contact-us.php'>";
}else{
echo '<div class="alert alert-danger" role="alert">Some problem occurred, please <a href="contact-us.php">try again</a>.</div>';
echo "<meta http-equiv='refresh' content='5;url=contact-us.php'>";
}
}
我尝试添加 $mail->IsHTML(true);等等,但似乎没有任何效果,伙计们,这里可能出了什么问题?
这是完全捏造,与有效的 PHP 邮件程序代码只有很小的相似之处 – 它甚至无效 PHP!除非您使用的 wrapper/subclass 没有告诉我们?
$mail = new Mail();
$mail->setFrom(senderemail);
$mail->addAddress(email);
$mail->addReplyTo($email);
$mail->subject($subject);
$mail->body($body);
PHPMailer class 称为 PHPMailer
,而不是 Mail
。使用 Subject
属性 设置主题;没有subject()
这样的方法。同样,也没有body()
这样的方法;要设置正文,请设置 Body
属性。总体应该是:
$mail = new PHPMailer();
$mail->setFrom($senderemail);
$mail->addAddress($email);
$mail->addReplyTo($email);
$mail->Subject = $subject;
$mail->Body = $body;
PHPMailer 不进行任何 HTML 转换。创建作为消息正文的一部分发送的 HTML 完全取决于您,并且您还必须告诉它您正在使用 HTML,例如:
$mail->isHTML();
$mail->Body = '<h1>Lovely HTML</h1>';
$mail->AltBody 'boring plain text';
所有 文档和示例向您展示了这一点,所以也许您应该读一读。
问题已通过启用 smtp 登录详细信息解决