使用WordPress发送电子邮件的相关PHP函数用法解析

yipeiwu_com5年前PHP代码库

wp_mail() 函数用来发送邮件,类似于 PHP 的 mail() 函数。

默认的发件人名称是 WordPress,发件人邮箱是类似 wordpress@example.com。
用法

wp_mail( $to, $subject, $message, $headers, $attachments );

参数

$to

(字符串 | 数组)(必须)收件人。多个收件人可以使用数组或者以逗号分隔邮箱的字符串。

默认值:None

$subject

(字符串)(必须)邮件标题。

默认值:None

$message

(字符串)(必须)邮件内容。

默认值:None

$headers

(字符串 | 数组)(可选)邮件 Headers 信息。可以是数组,也可以是以回车分隔的字符串(格式:name: content)。

默认值:空字符串

$attachments

(字符串 | 数组)(可选)邮件附件。多个附件可以使用数组或者以回车分隔的字符串。

默认值:空字符串

返回值

(布尔)返回是否成功发送邮件。

例子

最基本的邮件发送:

wp_mail( 'me@example.net', 'The subject', 'The message' );

附件和 headers 信息:

$attachments = array( WP_CONTENT_DIR . '/uploads/file_to_attach.zip' );
$headers = 'From: My Name <myname@example.com>' . "rn";
wp_mail( 'test@example.org', 'subject', 'message', $headers, $attachments );

Html 邮件和一次发送多个邮箱:

$multiple_to_recipients = array(
  'recipient1@example.com',
  'recipient2@foo.example.com'
)
wp_mail( $multiple_to_recipients, 'The subject', '<p>The <em>HTML</em> message</p>', 'Content-Type: text/html' );

其它

此函数位于:wp-includes/pluggable.php


解决邮件无法发送的问题
邮件无法发送是 WordPress 比较常见的一种问题,一般是由于服务器不支持 PHP 的 mail() 函数造成的,通常有两种解决方法。

PS:WordPress 发送邮件一定要使用 wp_mail() 函数,而不是直接调用 PHP SMTP 类或者其它函数。

一、配置服务器环境

如果你使用的是 VPS,可以通过配置服务器的方式让服务器支持 mail() 函数,根据每个人的情况不同可以通过搜索引擎找到配置方法,这里就不详细说了。

二、使用 SMTP

第二种就是用 SMTP 发送邮件了,也是我比较推荐的一种方法。SMTP 就是利用其它的免费邮件服务商的服务器发送邮件,所以用这种方式还不容易被识别成垃圾邮件。

好了,让 WordPress 支持 SMTP 推荐的是使用 WP SMTP 插件,安装好后在后台配置一下你的 SMTP 信息,我使用的是 QQ 邮箱。

20151215163310220.png (538×564)

配置好后可以在下边测试一下是否配置成功。

插件主页:https://wordpress.org/plugins/wp-smtp/

相关文章

PHP生成及获取JSON文件的方法

PHP生成及获取JSON文件的方法

本文实例讲述了PHP生成及获取JSON文件的方法。分享给大家供大家参考,具体如下: 首先定义一个数组,然后遍历数据表,把相应的数据放到数组中,最后通过json_encode()转化数组...

PHP获取数组表示的路径方法分析【数组转字符串】 原创

本文实例讲述了PHP获取数组表示的路径方法。分享给大家供大家参考,具体如下: 问题: 文件解析过程中发现一段路径用数组的形式存储,现需要将完整路径以字符串形式输出 解决方法: $ho...

php获取从html表单传递数组的方法

本文实例讲述了php获取从html表单传递数组的方法。分享给大家供大家参考。具体如下: 将表单的各个元素的name都设置成同一个数组对象既可以以数组的方式传递表单值 html页面如下:...

配置php.ini实现PHP文件上传功能

昨天分享了在PHP网站开发中如何在php.ini中配置实现session功能的PHP教程,今天继续分享在利用PHP实现文件上传功能时几点关键php.ini的配置。   说到在php.in...

PHP中的integer类型使用分析

integer 可以已10进制,8进制,16进制表示。 用八进制表示的时候,数字需要已0(零)开头; 用十六进制表示的时候,数字需要已0x(零x)或者0X(零大写X)开头; intege...