WordPress 可以通过 PHP 内置的 mail()
函数或者使用 SMTP 服务器来发送邮件。默认情况下,WordPress 使用 PHP mail()
函数发送邮件。
SMTP 设置
如果您的服务器无法发送邮件,或者您想使用外部 SMTP 服务器来发送邮件,可以使用插件或者手动修改 wp-config.php
文件来配置 SMTP 设置。以下是手动配置 SMTP 设置的步骤:
- 登录到您的 WordPress 网站,访问 WordPress 安装的根目录中的
wp-config.php
文件。 - 在文件中添加以下代码行,将占位符替换为您的 SMTP 服务器详细信息:
define( 'WP_MAIL_SMTP', true );
define( 'WP_MAIL_SMTP_HOST', 'smtp.example.com' );
define( 'WP_MAIL_SMTP_PORT', '587' );
define( 'WP_MAIL_SMTP_AUTH', true );
define( 'WP_MAIL_SMTP_USERNAME', 'your_smtp_username' );
define( 'WP_MAIL_SMTP_PASSWORD', 'your_smtp_password' );
define( 'WP_MAIL_SMTP_SECURE', 'tls' );
- 保存更改到
wp-config.php
文件中。
这些设置告诉 WordPress 使用 SMTP 发送电子邮件,并提供连接到您的 SMTP 服务器所需的详细信息。将 smtp.example.com
替换为您的 SMTP 服务器主机名,将 587
替换为您的 SMTP 服务器端口号,将 your_smtp_username
替换为您的 SMTP 账户用户名,将 your_smtp_password
替换为您的 SMTP 账户密码。如果您的 SMTP 服务器需要 SSL 而不是 TLS,请将 tls
更改为 ssl
。
配置 wp-config.php
文件后,测试您的网站上的电子邮件功能,以确保 SMTP 设置正常工作。
mail() 函数发送
默认情况下,WordPress 通过 mail()
函数发送的邮件默认发件人是:WordPress [email protected]。因为我之前使用 [[HestiaCP]] 面板安装了 WordPress,所以默认情况下就能发送邮件,我还感到有点奇怪,原来是 HestiaCP 默认安装了邮件服务器。
其实,我们可以通过 wp_mail_from
和 wp_mail_from_name
来修改 WordPress 发送邮件的默认邮箱和发件人。将下面的代码添加在主题的 functions.php
最后一个 ?>
v:
function custom_from_name($email){
$wp_from_name = get_option('blogname');
return $wp_from_name;
}
function custom_from_email($email) {
$wp_from_email = get_option('admin_email');
return $wp_from_email;
}
add_filter('wp_mail_from_name', 'custom_from_name');
add_filter('wp_mail_from', 'custom_from_email');
上面的代码会将默认发件人修改为网站的名称,默认邮箱为管理员的邮箱。但这样的修改有一坏处就是当主题更新时,修改会丢失。