如何使用联系表格 7 在邮件正文中发送 HTML 内容?
Posted
技术标签:
【中文标题】如何使用联系表格 7 在邮件正文中发送 HTML 内容?【英文标题】:How to send HTML content in message body using contact form 7? 【发布时间】:2020-07-20 17:28:20 【问题描述】:我想使用联系表格 7 发送 html 内容,但 HTML 代码无法正常工作,直接在电子邮件中发送 HTML 标记。那么如何使用钩子或任何方式发送此类消息?
我正在使用钩子“wpcf7_posted_data”在正文中附加我额外的 HTML 标记。 我想在发送电子邮件之前发送额外的 HTML 格式数据。
function action_wpcf7_posted_data( $array )
$html .= '<table>';
$html .='<tr><td>'.$product->get_Name().'</td></tr>';
$html .='<tr><td>'.$display.'</td></tr>';
$html .='<tr><td>Qty : '.$ProductQty.'</td></tr>';
$html .= '</table>';
$value = $array['message'];
if( !empty( $value ) )
$array['message'] = $value."<br><br>".$html;
return $array;
add_filter( 'wpcf7_posted_data', 'action_wpcf7_posted_data', 10, 1 );
【问题讨论】:
你到底想要什么?Testing |
如果您尝试将数据附加到 Contact Form 7 电子邮件 HTML。下面的代码将做到这一点。但是,您似乎正在使用其他一些变量,我不确定您从哪里得到它们。所有提交的表单字段都将在我下面的函数中的$posted_data
中。您可以在存在字段时触发该过程,或者每次都运行它。您还可以使用global $product
并获取变量来完成您的表格。
add_action( 'wpcf7_before_send_mail', 'he_append_to_email_body' );
function he_append_to_email_body( $contact_form )
$submission = WPCF7_Submission::get_instance();
if ( $submission )
$posted_data = $submission->get_posted_data();
if (isset($posted_data['the_field_you_want_to_trigger_this'])) // Check that your field is present in your form.
/**
* ToDo:
* Get your product and display and other variables here to put into the table.
*/
$html = '<table>';
$html .='<tr><td>'.$product->get_Name().'</td></tr>';
$html .='<tr><td>'.$display.'</td></tr>';
$html .='<tr><td>Qty : '.$ProductQty.'</td></tr>';
$html .= '</table>';
// Get the existing output from the CF7 email
$mail = $contact_form->prop( 'mail' );
// Append your data after the existing
$mail['body'] .= $html;
// Update the mail
$contact_form->set_properties(array('mail' => $mail));
return;
【讨论】:
【参考方案2】:您不需要用户自己在表单中插入 HTML。因此,您需要在 MAIL TAB 表单中设置已发送消息的布局,并检查消息正文字段下方的“使用 HTML 内容类型”。
您可以编写 HTML,但请注意邮件协议和客户端不会读取所有 HTML 标记甚至所有 CSS。 查看此链接以了解如何创建 HTML 电子邮件正文消息:https://www.campaignmonitor.com/dev-resources/guides/coding-html-emails/ 这对于允许的 CSS:https://www.campaignmonitor.com/css/
您也可以将表格发送到另一个电子邮件地址,检查使用邮件 (2) "是一个额外的邮件模板,通常用作自动回复"。
检查联系表 7 文档:https://contactform7.com/setting-up-mail/
问候。 H
【讨论】:
感谢您的回复,但实际上我使用钩子“wpcf7_posted_data”在正文中附加我的额外 HTML 标记。 我觉得每次我在这篇文章中你都在改变你的问题! 也许您应该使用 google 进行更好的研究。您可以使用隐藏字段插件。以上是关于如何使用联系表格 7 在邮件正文中发送 HTML 内容?的主要内容,如果未能解决你的问题,请参考以下文章