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

公開: 2023-04-11

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 サービスを使用し、すべてを適切に設定した場合、メール配信の問題が発生する可能性が低くなることを意味します。

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

プラグインなしで WordPress で SMTP を構成する

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

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

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

 define( 'SMTP_username', '[email protected]' );
define( 'SMTP_password', 'your-gmail-app-password' );
define( 'SMTP_server', 'smtp.gmail.com' );
define( 'SMTP_FROM', '[email protected]' );
define( 'SMTP_NAME', 'あなたの名前' );
define( 'SMTP_PORT', '587' );
define( 'SMTP_SECURE', 'tls' );
define( 'SMTP_AUTH', true );
define( 'SMTP_DEBUG', 0 );

テーマ エディターに移動し、さらに編集するためにfunctions.phpファイルを見つけます。 メインテーマの誤動作を避けるために、子テーマに変更を加えることをお勧めします。 次のスクリプトをfunctions.phpファイルに追加します。

 add_action( 'phpmailer_init', 'my_phpmailer_smtp' );
関数 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;
}

設定を保存して完了です。 これで、WordPress は SMTP サーバー経由でメールを送信します。

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

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

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

WP メール SMTP

WP メール SMTP

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

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

WP メール SMTP インストール

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

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

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

最初のステップは両方のオプションで同じなので、ここで説明しましょう。 WP メールの SMTP 設定を開き、[プライマリ接続] タブの下の [メールから] と [名前から] まで下にスクロールします。

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

From Name フィールドに、送信された電子メールに表示される名前を入力します。 もう一度、Force From Name をチェックして、他のプラグイン (WooCommerce や WordPress ニュースレター プラグインなど) がこの設定を上書きしないようにします。

WP メール SMTP セットアップ

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

サードパーティの SMTP サービスを使用して WP メールを設定する

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

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

メールトラップ ドメインの検証

アカウントが稼働したら、[送信ドメイン] に戻り、確認済みのドメインを押します。 次に、[API と SMTP] をクリックし、[SMTP] を選択して、資格情報をコピーします。

Mailtrap API SMTP 統合

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

メールトラップ その他の SMTP

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

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

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

メールトラップ検証のセットアップ

組み込みメーラーの使用

組み込みのメーラーを使用して、WordPress が SMTP を使用してメールを送信するようにする、統合の 2 番目のオプションに移りましょう。 この方法では、SendLayer、SMTP.com、Sendinblue、Amazon SES などの WP Mail SMTP のメーラーのいずれかを選択できます。この方法は、WordPress または Microsoft 365/Outlook で Gmail SMTP をセットアップするためにも使用できます。

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

ビルトインメーラー

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

HubSpot WordPress プラグイン

HubSpot WordPress プラグイン

WP Mail SMTP は、主に WordPress を設定して SMTP でメールを送信するために使用されます。 それどころか、HubSpot WordPress プラグインは、WordPress Web サイト用の完全なカスタマー リレーションシップ マネージャー (CRM) プラグインです。 その助けを借りて、サインアップフォームでメーリングリストを作成し、ライブチャットで訪問者と通信し、重要な指標を分析できます.

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

Gmail SMTP

Gmail SMTP

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

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

Post SMTP メーラー

Post 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 はエラー ログを表示します。

WP Mail SMTP メールテスト

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

電子メール送信と同様に、電子メール テストは、SMTP 資格情報を使用して WordPress プラグインと統合できます。 [My Inbox] を展開し、[Show Credentials] を押すと、アカウントでそれらを見つけることができます。 サンプルの SMTP 設定は次のようになります。

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

設定が正しければ、ほんの数秒でテスト メールが仮想受信トレイにポップアップ表示されます。

Mailtrap 電子メールのテスト

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

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

楽しみ!