如何在WordPress中设置Gmail SMTP

时间:2018-10-05 作者:ellen

我正在尝试设置一个SMTP gmail服务器,以便从我的WordPress站点发送电子邮件。这就是我的wp-config.php:

define( \'SMTP_USER\',   \'[email protected]\' );    // Username to use for SMTP authentication
define( \'SMTP_PASS\',   \'password\' );       // Password to use for SMTP authentication
define( \'SMTP_HOST\',   \'smtp.gmail.com\' );    // The hostname of the mail server
define( \'SMTP_FROM\',   \'[email protected]\' ); // SMTP From email address
define( \'SMTP_NAME\',   \'My Site Name\' );    // SMTP From name
define( \'SMTP_PORT\',   \'465\' );                  // SMTP port number - likely to be 25, 465 or 587
define( \'SMTP_SECURE\', \'tls\' );                 // Encryption system to use - ssl or tls
define( \'SMTP_AUTH\',    true );                 // Use SMTP authentication (true|false)
define( \'SMTP_DEBUG\',   1 );                    // for debugging purposes only set to 1 or 2
我把这个放在我的主题里functions.php 文件:

add_action( \'phpmailer_init\', \'send_smtp_email\' );
function send_smtp_email( $phpmailer ) {
    $phpmailer->isSMTP();
    $phpmailer->Host       = SMTP_HOST;
    $phpmailer->SMTPAuth   = SMTP_AUTH;
    $phpmailer->Port       = SMTP_PORT;
    $phpmailer->Username   = SMTP_USER;
    $phpmailer->Password   = SMTP_PASS;
    $phpmailer->SMTPSecure = SMTP_SECURE;
    $phpmailer->From       = SMTP_FROM;
    $phpmailer->FromName   = SMTP_NAME;
}
我在打电话wp_mail() 在这样的函数中:

 function invite_others() {
            $team_name = $_GET[\'team_name\'];

            $user_id = get_current_user_id();
            $user = get_userdata($user_id);
            $site = get_site_url();

            $message = "blah blah blah";
            $subject = "blah";
            $admin_email = get_option(\'admin_email\');

            foreach($_POST as $name => $email) {
                if($email != $_POST[\'invite_others\']){ 
                    $headers = "From: ". $admin_email . "\\r\\n" .
                        "Reply-To: " . $email . "\\r\\n";
                    $sent = wp_mail($email, $subject, strip_tags($message), $headers);
                }
            }

 }
我从中得到以下错误wp_mail():

SMTP错误:无法连接到SMTP主机

任何帮助都将不胜感激!谢谢

2 个回复
SO网友:butlerblog

很可能您使用了错误的加密/端口组合。您正在为tls使用端口465。

端口465应用于SSL

端口587应用于TLS

SO网友:Friss

您是否尝试在您的Google帐户中签入“访问不太安全的应用程序”选项?允许并重试,通常是这样。

此外,对于TLS,您可以尝试使用端口587而不是465。

结束