ウェブサイト検索

SMTP を使用して WordPress からメールを送信する方法


WordPress にはメールを送信するネイティブな方法があります。 PHP mail() 関数を使用して、ニュースレター、パスワードのリセット、または視聴者に送信するその他の種類の電子メールをすべて配信します。この方法は理論的には十分ですが、完璧とは程遠いです。

WordPress では、SMTP を使用して電子メールを送信する方がはるかに優れた代替手段です。そして、セットアップは難しくありません。今日のチュートリアルでは、プラグインを使用した場合と使用しない場合の方法を説明します。

SMTPとは何ですか?

SMTP または Simple Mail Transfer Protocol は、電子メール送信のルールを定義します。これにより、さまざまな種類のコンピュータ、サーバー、ネットワーク間で電子メールを交換できるようになります。

SMTP サーバーは、SMTP プロトコルに従って機能し、送信者から受信者に電子メールを送信するアプリです。このプロセスを簡素化するために、SMTP サーバーは電子メール クライアント (Gmail、Yahoo!、Outlook など) から電子メールを受信し、必要に応じて他の SMTP サーバーに転送します。その後、電子メールは受信者の SMTP サーバーによって取得され、受信メール サーバー (POP3 または IMAP) を使用して配信されます。

WordPress でメールを送信するために SMTP を使用することが良いのはなぜですか?

冒頭で述べたように、WordPress は電子メールの送信に PHP mail() 関数を使用します。この方法には、次のような複数の理由から問題があります。

  • これは主に、単純なプレーンテキストの電子メールに適しています。 HTML の機能は非常に制限されており、添付ファイルを追加したり、画像を埋め込んだりすることはできません。そのため、退屈なメールが残り、デザイン要素はほとんど、またはまったくなくなります。
  • これには重大な配信可能性の問題があります。 PHP mail() には適切な電子メール ヘッダーがありません。その結果、インターネット サービス プロバイダー (ISP) は、この方法で送信された電子メールをスパムとしてマークするか、完全に拒否します。したがって、たとえば、PHP mail() を使用して購読者に新しい投稿を自動的に電子メールで送信する場合、スパム フォルダを頻繁に利用する可能性があります。
  • 外部サーバー経由で電子メールを送信することはできません。 SMTP 設定を構成した場合でも、localhost または同様のソリューションでのみ使用できます。 PHP mail() は SMTP 認証もサポートしていません。

最も簡単な解決策は、SMTP サーバーを使用して電子メールを送信するように WordPress を設定することです。後者はヘッダー認証を必要とし、SSL および TLS を介した安全な送信をサポートします。つまり、特に信頼性の高い SMTP サービスを使用し、すべてが適切に設定されている場合には、電子メールの到達性の問題が発生する可能性が低くなります。

その点を踏まえて、WordPress で SMTP サーバーを使用してメールを送信する方法を考えてみましょう。

プラグインを使用せずにWordPressでSMTPを設定する

プラグインを使わずに、少しのコーディングと PHPMailer を使用して、WordPress で SMTP を設定できます。これは、mail() 関数の欠点を克服するために PHP 用に作成されたライブラリです。 PHPMailer は、複雑な電子メール本文 (HTML および埋め込み画像を含む) と添付ファイルをサポートします。最も重要なのは、任意の SMTP サーバーを使用して電子メールを送信できるようになります。

PHPMailer が動作するには、SMTP サーバーが動作している必要があります。以下のコードサンプルでは、Gmail SMTP を使用して WordPress で電子メールを送信します。ただし、始める前に、次の手順に従ってアプリのパスワードを作成する必要があります。そうしないと、正常に認証できません。

次に、Web サイトのルート ディレクトリに移動し、<i>wp-config.php ファイルを見つけます。次のコードサンプルを使用して、Gmail 認証情報を使用して WordPress SMTP 設定を構成します。

define( 'SMTP_username', 'your-email@gmail.com' );
define( 'SMTP_password', 'your-gmail-app-password' );
define( 'SMTP_server', 'smtp.gmail.com' );
define( 'SMTP_FROM', 'your-sender-email@gmail.com' );
define( 'SMTP_NAME', 'Your Name' );
define( 'SMTP_PORT', '587' );
define( 'SMTP_SECURE', 'tls' );
define( 'SMTP_AUTH', true );
define( 'SMTP_DEBUG', 0 );

さらに編集するには、テーマ エディターに移動し、<i>functions.php ファイルを見つけます。メインテーマの誤動作を避けるために、子テーマに変更を加えることが推奨されることに注意してください。次のスクリプトを <i>functions.php ファイルに追加します。

add_action( 'phpmailer_init', 'my_phpmailer_smtp' );
function my_phpmailer_smtp( $phpmailer ) {
$phpmailer->isSMTP();
$phpmailer->Host = SMTP_server;
$phpmailer->SMTPAuth = SMTP_AUTH;
$phpmailer->Port = SMTP_PORT;
$phpmailer->Username = SMTP_username;
$phpmailer->Password = SMTP_password;
$phpmailer->SMTPSecure = SMTP_SECURE;
$phpmailer->From = SMTP_FROM;
$phpmailer->FromName = SMTP_NAME;
}

Save the settings and that’s it. Now your WordPress sends emails via SMTP server.

詳細については、PHP 機能を使用して WordPress でメールを送信する方法を参照してください。

プラグインを使用して WordPress SMTP を設定する

SMTP 経由でメールを送信するように WordPress を設定するより簡単な方法は、専用のプラグインを使用することです。コーディングのスキルは必要ありません。開発者の助けがなくても構成できます。

WPメールSMTP

WP Mail SMTP は、SMTP を設定するための最も人気のあるプラグインです。これは、統合メーラーまたはカスタム SMTP 設定のいずれかを使用するように PHP mail() に指示します。そうすることで、ネイティブ関数の配信可能性の問題が解決されます。

WordPress Web サイトのダッシュボードから「プラグイン」タブに移動し、「新規追加」を押すと、WP Mail SMTP を簡単にインストールできます。検索ボックスに「WP Mail SMTP」と入力し、「今すぐインストール」を押し、「アクティブ化」を押します。

プラグインがインストールされたら、ダッシュボードから、またはセットアップ ウィザードを使用してメーラーを設定できます。どちらもコンセプトは同じで、デザインが異なるだけです。私たちはダッシュボードを使用することを好むので、その助けを借りてプラグインをセットアップします。

主なオプションは 2 つあります。

  • サードパーティの SMTP サービスを使用して WP Mail SMTP をセットアップする
  • 組み込みのメーラーを使用する

最初のステップはどちらのオプションでも同じなので、ここで説明します。 WP MailのSMTP設定を開き、「プライマリ接続」タブの下にある「送信元電子メール」と「送信者名」まで下にスクロールします。

「From Email」フィールドに、電子メールの送信に使用する電子メール アドレスを入力します。これは無料の電子メール アカウントでも構いませんが、到達性を高めるためにカスタム ドメインのアドレスをお勧めします。入力したアドレスがすべての電子メールで使用されるようにするには、[電子メールから強制する] ボックスをオンにします。

[差出人名] フィールドに、送信される電子メールに表示される名前を入力します。もう一度、[名前から強制] をチェックして、他のプラグイン (WooCommerce や WordPress ニュースレター プラグインなど) がこの設定をオーバーライドしないようにします。

それが完了したら、プラグインを使用してメールを送信するように WordPress に指示するメーラーの設定に進むことができます。

サードパーティの SMTP サービスを使用した WP メールのセットアップ

WordPress メールが受信者の受信箱に確実に配信されるようにするには、信頼できるサードパーティの SMTP サービスを使用することが不可欠です。 WP Mail SMTP のその他の SMTP 機能を使用すると、お気に入りのメーラーを簡単に統合できます。今日のチュートリアルでは、Mailtrap が提供する信頼性の高い SMTP サービスを使用します。

ただし、WordPress ウェブサイトと統合する前に、まずアカウントを作成し、アプリ内ウィザードに従ってドメインを確認する必要があります。これを行うには、ドメインの DNS レコードにアクセスできる必要があります。これらには、既製の SPF、DKIM、DMARC レコードを追加し、[ドメインの検証] をクリックする必要があります。

アカウントが起動して実行されたら、「送信ドメイン」に戻り、検証済みのドメインをクリックします。次に、「API と SMTP」をクリックし、「SMTP」を選択して、認証情報をコピーします。

WP Mail SMTP に戻り、[メーラー] タブで [その他の SMTP] を選択します。

一連の空のフィールドが表示されます。 Mailtrap の SMTP 認証情報を使用して入力します。

  • SMTP ホスト: live.smtp.mailtrap.io
  • 暗号化: TLS (SSL を選択することもできますが、TLS を推奨します)
  • SMTP ポート: 587 (自動的に入力されます)
  • 認証: オンに切り替えます
  • SMTP ユーザー名: api
  • SMTP パスワード: SMTP パスワード

「設定を保存」を押します。確認ウィンドウが表示されます。すべてが適切に設定され、WordPress が SMTP 電子メールを送信する場合は、Mailtrap アカウントに戻り、「Verify Setup」をクリックします。

内蔵メーラーの使用

統合の 2 番目のオプションに進みましょう。組み込みメーラーを使用して、WordPress が SMTP を使用して電子メールを送信できるようにします。この方法では、SendLayer、SMTP.com、Sendinblue、Amazon SES などの WP Mail SMTP メーラーの 1 つを選択できます。この方法は、WordPress または Microsoft 365/Outlook で Gmail SMTP を設定するためにも使用できます。

統合のプロセスは、ほとんどの ESP で同様です。もちろん、WP Mail SMTP と統合するには、有効なアカウントが必要です。メーラーを選択し、アカウントの API キーを入力するだけです。その手順は、ESP の公式ドキュメントで入手できます。

一部のメーラーでは、送信ドメイン、メッセージ ストリーム ID、または地域の入力が必要な場合があります。各メーラーの詳しい手順については、こちらをご覧ください。

HubSpot WordPress プラグイン

WP Mail SMTP は主に、SMTP で電子メールを送信するように WordPress を設定するために使用されます。それどころか、HubSpot WordPress プラグインは、WordPress ウェブサイト用の完全な顧客関係マネージャー (CRM) プラグインです。これを利用すると、サインアップ フォームでメール リストを作成したり、ライブ チャットで訪問者とコミュニケーションしたり、重要な指標を分析したりできます。

最も重要なことは、HubSpot WordPress プラグインを使用すると、好みの ESP を統合して、マーケティング電子メールを (手動または自動で) 連絡先に送信できるようになります。組み込みのテンプレートとドラッグ アンド ドロップ エディターも備えています。したがって、SMTP 構成以上のものを探している場合は、HubSpot が最適な選択肢となる可能性があります。

Gmail SMTP

Gmail SMTP は、SMTP で電子メールを送信するためのもう 1 つの WordPress プラグインですが、Gmail 用に特別に設計されています。 PHPMailer とネイティブの wp_mail 関数に依存して電子メールを送信します。つまり、すべての機能を引き続き使用できます。

Gmail SMTP プラグインは、API と OAuth 2.0 プロトコルを使用して Gmail に接続します。そうすれば、ユーザー名やパスワードを入力する必要がなくなります。ただし、Google Developer Console でアプリを作成し、OAuth 認証情報を構成する必要があります。幸いなことに、プラグインの公式ページには必要な手順がリストされています。

ポストSMTPメーラー

ここでの最後のオプションは、Post SMTP Mailer です。これは、SMTP または API を使用して ESP を統合できるユーザーフレンドリーなプラグインです。無料版は、Mailgun、SendGrid、Mandrill (現在は Mailchimp Transactional Email)、SparkPost、Postmark、Sendinblue、および Gmail API をサポートしています。 Pro バージョンでは、Zoho Mail、Amazon SES、Microsoft 365 にアクセスできます。

さらに、Post SMTP Mailer は電子メール ログを保存し、問題が発生した場合は Chrome 通知を送信します。

WordPress でメールをテストするにはどうすればよいですか?

設定で WordPress からメールを正常に送信できることを確認するには、メールをテストする必要があります。ほとんどのプラグインには、いくつかの基本的な検査のためのデフォルトのテスト機能が付属しています。

たとえば、WP Mail SMTP を使用すると、[電子メール テスト] タブに移動し、電子メール アドレスを入力して、[電子メールを送信] を押すことができます。設定が正しい場合は、受信トレイにテスト電子メールが表示されるはずです。そうでない場合、WP Mail SMTP はエラー ログを表示します。

ただし、メール送信機能をテストするだけでは必ずしも十分とは限りません。連絡先に電子メールを送信する前に、HTML をテストし、ヘッダーを検証し、スパム スコアを確認することが重要です。そこで、Mailtrap の別のソリューションである Email Testing が役に立ちます。 WordPress メールを仮想受信箱にキャプチャし、受信者の受信箱にメールが届かないようにします。

電子メール送信と同様に、電子メール テストは、SMTP 認証情報を使用して WordPress プラグインと統合できます。 [受信トレイ] を展開し、[認証情報を表示] を押すと、アカウント内でこれらの情報が表示されます。 SMTP 設定のサンプルは次のようになります。

  • SMTP ホスト: Sandbox.smtp.mailtrap.io
  • 暗号化: TLS または SSL
  • SMTP ポート: 465 または 587
  • 認証: オンに切り替えます
  • SMTP ユーザー名: <あなたの SMTP ユーザー名>
  • SMTP パスワード: <あなたの SMTP パスワード>

構成が正しければ、数秒以内にテスト電子メールが仮想受信箱にポップアップ表示されます。

これまで見てきたように、SMTP でメールを送信するように WordPress を設定するには、主に 2 つのオプションがあります。PHPMailer でコーディングするか、プラグインを使用することです。最初のオプションは開発者により適しており、2 番目のオプションはマーケティング担当者に最適です。どちらの方法を選択するにしても、重要なことは、PHP の欠点を回避する方法を見つけることです。

上記にリストしたすべてのプラグインを使用すると、Gmail の SMTP を使用できます。たまにメールを送信するのには十分ですが、大量のメールを送信するには信頼できる ESP を選択する方が良いでしょう。そうしないと、メールがスパムとしてマークされる可能性が高くなります。

楽しむ!