wp_mail() 函數用來發送郵件,類似於 PHP 的 mail() 函數。
默認的發件人名稱是 WordPress,發件人郵箱是類似 [email protected]。
用法
wp_mail( $to, $subject, $message, $headers, $attachments );
參數
$to
(字符串 | 數組)(必須)收件人。多個收件人可以使用數組或者以逗號分隔郵箱的字符串。
默認值:None
$subject
(字符串)(必須)郵件標題。
默認值:None
$message
(字符串)(必須)郵件內容。
默認值:None
$headers
(字符串 | 數組)(可選)郵件 Headers 信息。可以是數組,也可以是以回車分隔的字符串(格式:name: content)。
默認值:空字符串
$attachments
(字符串 | 數組)(可選)郵件附件。多個附件可以使用數組或者以回車分隔的字符串。
默認值:空字符串
返回值
(布爾)返回是否成功發送郵件。
例子
最基本的郵件發送:
wp_mail( '[email protected]', 'The subject', 'The message' );
附件和 headers 信息:
$attachments = array( WP_CONTENT_DIR . '/uploads/file_to_attach.zip' ); $headers = 'From: My Name <[email protected]>' . "rn"; wp_mail( '[email protected]', 'subject', 'message', $headers, $attachments );
Html 郵件和一次發送多個郵箱:
$multiple_to_recipients = array( '[email protected]', '[email protected]' ) 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 郵箱。
配置好後可以在下邊測試一下是否配置成功。
插件主頁:https://wordpress.org/plugins/wp-smtp/