从管理区向自定义域中的地址发送电子邮件

时间:2016-03-29 作者:kvd

我的客户希望能够从页面编辑屏幕向多个电子邮件地址发送电子邮件。每个页面都有一个名为email\\u addresses的自定义字段,该字段采用逗号分隔的地址:

enter image description here

每个页面都有一组不同的地址。我需要在这个字段下面有一个文本区域,我的客户可以在其中输入电子邮件的正文,并在下面有一个提交按钮来实际发送电子邮件。

我已经使用添加了一个带有文本区域和提交表单的表单到页面编辑屏幕页面add_meta_box() 功能:

    // Add metabox
    function metabox_after_publish() {
       add_meta_box( \'send-email\', \'Send E-mail\', \'send_email_metabox_content\', \'page\', \'advanced\', \'high\' );
    }
    add_action( \'add_meta_boxes\', \'metabox_after_publish\' );

    // callback function to populate metabox
    function send_email_metabox_content() { ?>
        <form>
             <textarea id="email_content" style="width:100%" rows="6"></textarea>
             <p><input id="email_send_button" type="submit" class="button button-primary button-large" value="Send" /></p>
        </form>
    <?php }

enter image description here

如何使表单功能,使其将文本区域的内容发送到自定义字段中的电子邮件地址?

1 个回复
最合适的回答,由SO网友:Megan Rose 整理而成

首先,决定whether you want to use GET or POST 对于您的表单。(在不指定方法的情况下,它将使用GET。)

您将需要name 为textarea填写属性,以便实际发送信息。然后将表单处理添加到函数中:

(即。if ( isset($_POST["message"]) && !empty($_POST["message"]) ) {...} )

您需要使用get_post_meta( get_the_ID(), \'email_addresses\' ) 从自定义字段检索电子邮件地址。将该值存储在字符串变量中。你会想separate out the email addresses into an array (注意空格-你应该确保你的客户知道他们是否应该在逗号后有空格)

然后,需要使用foreach, (因为PHPmail() 函数的$to 参数不接受数组,仅接受字符串)。您可以构建电子邮件表单处理,如the examples on this page.

希望这有帮助!如果您需要任何澄清,请告诉我。