我创建了一个在wp_email()函数中使用的基本html模板。 这是模板代码:
<?php
$opties = json_decode($array_opties);
$message .= '
<p>'. date("Y-m-d H:i:s") .'</p>
<p>'. $titel .'</p>
<p>'. $uitvoering_field .'</p>
<p>'. $vermogen_gewicht_gewicht .'</p>
<p>'. $vermogen_gewicht_type .'</p>
<p>'. $vermogen_gewicht_kw .'</p>
<p>'. $vermogen_gewicht_prijs .'</p>
<p><img src="'. $kleurafbeelding .'" /></p>
<p>'. $kleurtitel .'</p>
<p>'. $kleurprijs .'</p>
<p><img src="'. $bekledingafbeelding .'" /></p>
<p>'. $bekledingtitel .'</p>
<p>'. $bekledingprijs .'</p>
<p><img src="'. $velgenafbeelding .'" /></p>
<p>'. $velgentitel .'</p>
<p>'. $velgenprijs .'</p>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>Optiepakket</th>
<th>Omschrijving</th>
<th>Prijs</th>
</tr>
</thead>
';
foreach ($opties as &$optie) {
$message .= '
<tr>
<td>'. $optie->titel .'</td>
<td width="250">'. $optie->omschrijving .'</td>
<td>'. $optie->prijs .'</td>
</tr>
';
}
$message .= '
</table>
<p>'. $bedrijf .'</p>
<p>'. $naam .'</p>
<p>'. $adres .'</p>
<p>'. $postcode .'</p>
<p>'. $plaats .'</p>
<p>'. $telefoon .'</p>
<p>'. $mobiel .'</p>
';
这是我用来发送电子邮件的代码:
$located = locate_template('mail.php');
if(!empty($located)){
include $located;
} else {
include (ABSPATH. 'wp-content/plugins/quido/frontend/mail.php');
}
$email_ontvangers = array('example@email.com', 'example@email.com');
$headers = 'From: from <email@example.com>' . "\r\n";
wp_mail( $email_ontvangers, 'text', $message, $headers );
这一切都正常,但我需要在电子邮件中添加一些字符串,因此我将它们添加到具有<p></p>
元素的行中。但这并没有改变电子邮件。然后我在桌子上添了一个桌头。正如您所看到的,我添加了第3个标签,这并没有改变电子邮件。然后我刚刚删除了文件中的所有内容,并没有更改电子邮件。所以我有点迷茫。我还试图改变wp_mail使用我的模板的路径。所以我将'mail.php'改为模板的完整路径,但也没有成功。那么我该如何解决这个问题?
答案 0 :(得分:0)
默认内容类型为'text / plain',不允许使用 HTML。您可以使用以下命令设置电子邮件的内容类型 'wp_mail_content_type'过滤或通过包含标题 “内容类型:text / html”。小心重置'wp_mail_content_type' 但是,在发送邮件后回到'text / plain',因为 如果不这样做可能会导致意外的电子邮件问题 WP或插件/主题。
add_filter( 'wp_mail_content_type', 'set_content_type' );
function set_content_type( $content_type ) {
return 'text/html';
}
https://codex.wordpress.org/Function_Reference/wp_mail https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_mail_content_type
答案 1 :(得分:0)
我解决了这个问题。这是由于标题不包含这行代码:
$headers = 'From: From <example@email.com>' . "Content-Type: text/plain; charset=\"" ."\r\n";