我已经在我的WP 3.2.1实例上安装了Contact Form 7插件。
我已经设置了contact form 供用户请求评估。
这一切都很好,但我希望当他们提交请求时,我可以给他们发一封附有产品手册的电子邮件。
我目前的设置如下:
我尝试使用[文件-691],其中691是媒体库中上载媒体的id。
两者似乎都不起作用
What is the correct way to achieve this?
我已经在我的WP 3.2.1实例上安装了Contact Form 7插件。
我已经设置了contact form 供用户请求评估。
这一切都很好,但我希望当他们提交请求时,我可以给他们发一封附有产品手册的电子邮件。
我目前的设置如下:
我尝试使用[文件-691],其中691是媒体库中上载媒体的id。
两者似乎都不起作用
What is the correct way to achieve this?
据我所知,您尝试使用的功能并不打算以这种方式使用。实际上,这是为了让提交者可以选择上载随邮件一起发送的文件。
我认为这种功能不适用于联系人表单7
CF7不会那样工作。您尝试执行的操作需要在服务器或电子邮件客户端级别进行设置,而不是在WP中的应用程序级别进行设置。
在电子邮件服务器或电子邮件客户端上设置电子邮件自动应答器。
下载前请尝试使用下载监视器插件发送电子邮件。这些与CF7完美集成,您只需选择附件作为电子邮件发送,而不是内联下载链接。效果很好。
对不起,我的英语很差,PHP技能更差。
您可以在下载之前使用电子邮件,但。。。没有按我想要的那样工作。我尝试了一些代码,我认为这是可行的。这不是最好的方法,但您可以使用管理gui中附件字段中的文件链接。只需输入类似“wp content/uploads/2013/05/File.pdf”(不带引号)的内容,而不是“[文件-1234]”,然后将以下代码放入您的functions.php
function mycustom_cf_before_action(&$wpcf7_data) {
global $mailcounter;
$mailcounter = 0;
if ((!empty($wpcf7_data->mail[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail[\'attachments\'], \'[\'))) ) {
global $cmail1;
$cmail1 = \'\';
$cmail1 = $wpcf7_data->mail[\'attachments\'];
}
if ((!empty($wpcf7_data->mail_2[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail_2[\'attachments\'], \'[\'))) ) {
global $cmail2;
$cmail2 = \'\';
$cmail2 = $wpcf7_data->mail_2[\'attachments\'];
}
}
add_action(\'wpcf7_before_send_mail\', \'mycustom_cf_before_action\',1);
function mycustom_wpcf7_mail_components($components){
global $cmail1;
global $cmail2;
global $mailcounter;
if (($mailcounter == 0) and (!empty($cmail1)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail1;
}
if (($mailcounter == 1) and (!empty($cmail2)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail2;
}
$mailcounter = $mailcounter + 1;
return $components;
}
add_filter( \'wpcf7_mail_components\', \'mycustom_wpcf7_mail_components\' );
第一个函数检查是否存在“静态”附件。所以任何不以[
或为空第二个功能是在发送时添加静态附件。试图使用“uploaded\\u files”,但随后附件被删除。由于mail1和mail2的组件部分是相同的,因此您必须以某种方式进行计数。这就是$mailcounter
. $cmail1
和$cmail2
是将附件的链接获取到组件零件中。此时,CF7不再关心原始联系人表单数据。所以这是我在这一点上看到的唯一解决方案。
我相信这就是所提到的插件:https://wordpress.org/plugins/email-before-download/
我已经在我的WP 3.2.1实例上安装了Contact Form 7插件。
我已经设置了contact form 供用户请求评估。
这一切都很好,但我希望当他们提交请求时,我可以给他们发一封附有产品手册的电子邮件。
我目前的设置如下:
我尝试使用[文件-691],其中691是媒体库中上载媒体的id。
两者似乎都不起作用
What is the correct way to achieve this?
据我所知,您尝试使用的功能并不打算以这种方式使用。实际上,这是为了让提交者可以选择上载随邮件一起发送的文件。
我认为这种功能不适用于联系人表单7
CF7不会那样工作。您尝试执行的操作需要在服务器或电子邮件客户端级别进行设置,而不是在WP中的应用程序级别进行设置。
在电子邮件服务器或电子邮件客户端上设置电子邮件自动应答器。
下载前请尝试使用下载监视器插件发送电子邮件。这些与CF7完美集成,您只需选择附件作为电子邮件发送,而不是内联下载链接。效果很好。
对不起,我的英语很差,PHP技能更差。
您可以在下载之前使用电子邮件,但。。。没有按我想要的那样工作。我尝试了一些代码,我认为这是可行的。这不是最好的方法,但您可以使用管理gui中附件字段中的文件链接。只需输入类似“wp content/uploads/2013/05/File.pdf”(不带引号)的内容,而不是“[文件-1234]”,然后将以下代码放入您的functions.php
function mycustom_cf_before_action(&$wpcf7_data) {
global $mailcounter;
$mailcounter = 0;
if ((!empty($wpcf7_data->mail[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail[\'attachments\'], \'[\'))) ) {
global $cmail1;
$cmail1 = \'\';
$cmail1 = $wpcf7_data->mail[\'attachments\'];
}
if ((!empty($wpcf7_data->mail_2[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail_2[\'attachments\'], \'[\'))) ) {
global $cmail2;
$cmail2 = \'\';
$cmail2 = $wpcf7_data->mail_2[\'attachments\'];
}
}
add_action(\'wpcf7_before_send_mail\', \'mycustom_cf_before_action\',1);
function mycustom_wpcf7_mail_components($components){
global $cmail1;
global $cmail2;
global $mailcounter;
if (($mailcounter == 0) and (!empty($cmail1)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail1;
}
if (($mailcounter == 1) and (!empty($cmail2)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail2;
}
$mailcounter = $mailcounter + 1;
return $components;
}
add_filter( \'wpcf7_mail_components\', \'mycustom_wpcf7_mail_components\' );
第一个函数检查是否存在“静态”附件。所以任何不以[
或为空第二个功能是在发送时添加静态附件。试图使用“uploaded\\u files”,但随后附件被删除。由于mail1和mail2的组件部分是相同的,因此您必须以某种方式进行计数。这就是$mailcounter
. $cmail1
和$cmail2
是将附件的链接获取到组件零件中。此时,CF7不再关心原始联系人表单数据。所以这是我在这一点上看到的唯一解决方案。
我相信这就是所提到的插件:https://wordpress.org/plugins/email-before-download/
我已经在我的WP 3.2.1实例上安装了Contact Form 7插件。
我已经设置了contact form 供用户请求评估。
这一切都很好,但我希望当他们提交请求时,我可以给他们发一封附有产品手册的电子邮件。
我目前的设置如下:
我尝试使用[文件-691],其中691是媒体库中上载媒体的id。
两者似乎都不起作用
What is the correct way to achieve this?
据我所知,您尝试使用的功能并不打算以这种方式使用。实际上,这是为了让提交者可以选择上载随邮件一起发送的文件。
我认为这种功能不适用于联系人表单7
CF7不会那样工作。您尝试执行的操作需要在服务器或电子邮件客户端级别进行设置,而不是在WP中的应用程序级别进行设置。
在电子邮件服务器或电子邮件客户端上设置电子邮件自动应答器。
下载前请尝试使用下载监视器插件发送电子邮件。这些与CF7完美集成,您只需选择附件作为电子邮件发送,而不是内联下载链接。效果很好。
对不起,我的英语很差,PHP技能更差。
您可以在下载之前使用电子邮件,但。。。没有按我想要的那样工作。我尝试了一些代码,我认为这是可行的。这不是最好的方法,但您可以使用管理gui中附件字段中的文件链接。只需输入类似“wp content/uploads/2013/05/File.pdf”(不带引号)的内容,而不是“[文件-1234]”,然后将以下代码放入您的functions.php
function mycustom_cf_before_action(&$wpcf7_data) {
global $mailcounter;
$mailcounter = 0;
if ((!empty($wpcf7_data->mail[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail[\'attachments\'], \'[\'))) ) {
global $cmail1;
$cmail1 = \'\';
$cmail1 = $wpcf7_data->mail[\'attachments\'];
}
if ((!empty($wpcf7_data->mail_2[\'attachments\'])) and (!(0 === strpos($wpcf7_data->mail_2[\'attachments\'], \'[\'))) ) {
global $cmail2;
$cmail2 = \'\';
$cmail2 = $wpcf7_data->mail_2[\'attachments\'];
}
}
add_action(\'wpcf7_before_send_mail\', \'mycustom_cf_before_action\',1);
function mycustom_wpcf7_mail_components($components){
global $cmail1;
global $cmail2;
global $mailcounter;
if (($mailcounter == 0) and (!empty($cmail1)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail1;
}
if (($mailcounter == 1) and (!empty($cmail2)) and (empty($components[\'attachments\']))) {
$components[\'attachments\'][] = $cmail2;
}
$mailcounter = $mailcounter + 1;
return $components;
}
add_filter( \'wpcf7_mail_components\', \'mycustom_wpcf7_mail_components\' );
第一个函数检查是否存在“静态”附件。所以任何不以[
或为空第二个功能是在发送时添加静态附件。试图使用“uploaded\\u files”,但随后附件被删除。由于mail1和mail2的组件部分是相同的,因此您必须以某种方式进行计数。这就是$mailcounter
. $cmail1
和$cmail2
是将附件的链接获取到组件零件中。此时,CF7不再关心原始联系人表单数据。所以这是我在这一点上看到的唯一解决方案。
我相信这就是所提到的插件:https://wordpress.org/plugins/email-before-download/