web-dev-qa-db-ja.com

WordpressでGmail SMTPを設定する方法

私は私のワードプレスサイトから電子メールを送信するためにSMTP Gmailサーバを設定しようとしています。これは私が私の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 Error: Could not connect to SMTP Host

任意の助けは大歓迎です!ありがとう

2
ellen

おそらく、間違った暗号化とポートの組み合わせを使用しているのでしょう。あなたはポート465をTLSに使用しています。

ポート465をSSLに使用する必要があります

ポート587をTLSに使用する必要があります

1
butlerblog

Googleアカウントに「安全性の低いアプリへのアクセス」オプションをチェックインしようとしましたか?許可して再試行してください。

また、TLS用に465の代わりにポート587を試すこともできます。

0
Friss