私は私のワードプレスサイトから電子メールを送信するために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
任意の助けは大歓迎です!ありがとう
おそらく、間違った暗号化とポートの組み合わせを使用しているのでしょう。あなたはポート465をTLSに使用しています。
ポート465をSSLに使用する必要があります
ポート587をTLSに使用する必要があります
Googleアカウントに「安全性の低いアプリへのアクセス」オプションをチェックインしようとしましたか?許可して再試行してください。
また、TLS用に465の代わりにポート587を試すこともできます。