首页 小编推荐 正文
  • 本文约1434字,阅读需7分钟
  • 104198
  • 45

wordpress发送邮件

温馨提示:本文最后更新于2025年11月13日 00:30,若内容或图片失效,请在下方留言或联系博主。
摘要

WordPress发送邮件主要通过内置的wp_mail()函数实现。该函数允许开发者在插件、主题或自定义代码中发送电子邮件。以下是详细的使用方法和相关参数说明:

1. wp_mail() 函数基本用法


wp_mail( $to, $subject, $message...

WordPress发送邮件主要通过内置的wp_mail()函数实现。该函数允许开发者在插件、主题或自定义代码中发送电子邮件。以下是详细的使用方法和相关参数说明:

1. wp_mail() 函数基本用法

wp_mail( $to, $subject, $message, $headers = '', $attachments = array() );
  • $to: 接收者邮箱地址,可以是字符串或数组。
  • $subject: 邮件主题。
  • $message: 邮件正文内容(支持HTML格式)。
  • $headers: 邮件头信息,如发件人、CC、BCC等。可为字符串或数组。
  • $attachments: 附件路径数组。

2. 示例:发送简单邮件

wp_mail(
    '[email protected]',
    '测试邮件',
    '这是一封测试邮件。'
);

3. 设置发件人信息

默认情况下,WordPress 使用站点管理员邮箱作为发件人。可以通过 $headers 参数设置自定义发件人:

$headers = 'From: Your Name <[email protected]>' . "\r\n";
wp_mail(
    '[email protected]',
    '测试邮件',
    '这是一封测试邮件。',
    $headers
);

4. 发送 HTML 邮件

要在邮件中包含 HTML 内容,需要添加 Content-Type 头:

$headers = 'Content-type: text/html; charset=UTF-8' . "\r\n";
wp_mail(
    '[email protected]',
    'HTML 测试邮件',
    '<h1>这是一个标题</h1><p>这是邮件内容。</p>',
    $headers
);

5. 添加附件

可以将文件路径作为数组传递给 $attachments 参数:

$attachments = array(ABSPATH . 'uploads/file.pdf');
wp_mail(
    '[email protected]',
    '带附件的邮件',
    '请查收附件。',
    '',
    $attachments
);

6. 使用数组方式设置 headers

如果需要设置多个头信息,可以使用数组:

$headers = array(
    'From: Your Name <[email protected]>',
    'Cc: [email protected]'
);
wp_mail(
    '[email protected]',
    '带 CC 的邮件',
    '这是一封带有抄送的邮件。', 
    $headers
);

7. 自定义邮件发送逻辑

若需替换 WordPress 默认的邮件发送方式,可以通过 wp_mail 钩子进行修改:

add_filter('wp_mail', 'custom_wp_mail');

function custom_wp_mail($args) {
    // 修改 $args 中的内容
    return $args;
}

8. 邮件发送失败处理

可通过 wp_mail_failed 钩子捕获发送失败的错误:

add_action('wp_mail_failed', 'handle_mail_failure');

function handle_mail_failure($error) {
    error_log('邮件发送失败:' . $error->get_error_message());
}

9. 常见问题与解决方法

  • 邮件未收到:检查邮件服务器配置、防火墙设置或邮箱垃圾邮件文件夹。
  • 无法发送 HTML 邮件:确保正确设置了 Content-Type 头。
  • 附件未附加:确认文件路径正确且具有读取权限。

以上是 WordPress 中发送邮件的完整介绍,涵盖基础使用、高级配置和常见问题处理。

48671 人点赞
评论