我创建了一个联系表单7的表单,我需要发送两封电子邮件,一封包含我从表单中提取的所有数据,另一封包含“谢谢”消息和其他重要信息,这些信息是静态的,对于点击提交按钮的每个用户都是相同的。
所以我的问题是这封电子邮件,CF7只能向多个用户发送一种类型的邮件,而不是两个不同的邮件发送给两个不同的用户。第二封邮件需要使用[你的邮件](用户在表单中写的邮件)。
我发现了on_sent_ok函数,它允许我在提交后打开一个页面或其他东西,但我不知道如何发送这个不同的邮件。
答案 0 :(得分:0)
您的请求已经有一段时间了,但我在这里写下我的解决方案以满足未来的需求。
您可以通过以下两个步骤达到目标:
A)处理已发送邮件的联系表格7事件。
function your_wpcf7_mail_sent_function( $contact_form ) {
$title = $contact_form->title;
$submission = WPCF7_Submission::get_instance();
if ($submission && "New hospital" == $title) {
$posted_data = $submission->get_posted_data();
//$posted_data is an associative array that contains all the form input values,
//so you can use it to proceed with B step
}
}
add_action( 'wpcf7_mail_sent', 'wpcf7_mail_sent_event_triggered' );
如果您不确定此代码的位置我的建议是在主题的function.php文件的开头添加它。
B)使用wp_mail API发送自定义邮件。 如果您查看文档,您会发现API很容易理解。
$to = 'sendto@example.com';
$subject = 'The subject';
$body = 'The email body content';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
显然,您可以根据需要使用或不使用$posted_data
值来自定义正文消息。