SendGrid は、メールサーバーの管理を必要とせずにメール配信を可能にするクラウドベースのSMTPサービスです。
NB: ポート 25 はデフォルトで当社のVMで接続用に閉じられています。ポート25を開放したい場合はMail Bridgeを購入し、設定してください(Starlight™ Manager内)。
WHMでMailgunメールを設定するには、このガイドをご利用ください。
以下の手順に従って、WHM側でSendGridサービスとメールシステムをドメイン名用に設定してください:
ステップ1.SendGridにサインアップします:

すべての連絡先情報を入力したら、「続行」をクリックします。
ステップ2.メールアカウントを認証するために新しいブラウザタブにリダイレクトされます。メールアカウントに送信された認証コードをコピーし、「コード」欄に入力して「認証」をクリックします:

ステップ3.送信された認証コードを「認証コード入力」欄に入力して電話番号を認証し、「認証」をクリックします:

ステップ4.その後、電話を紛失した場合や認証デバイスにアクセスできない場合に役立つリカバリーコードが提供されます。コードをコピーして保存し、「続行」をクリックします。コードをファイルとしてダウンロードするオプションもあります:

ステップ5.次のページで連絡先情報を入力し、「次へ」をクリックします:

ステップ6.次のページから、SendGridダッシュボードを開いてください:

ステップ7.そのページに移動したら、「設定」>>「APIキー」メニューに進み、そこで新しいAPIキーを作成します:

ステップ8.メニューが開いたら、APIキー名を入力し、APIキーの権限を「フルアクセス」に設定し、設定を保存します:

ステップ9.SendGrid送信者認証を設定します。方法は2つあります:
方法1:シングル送信者認証
シングル送信者認証は、SendGridアカウントを使用する際に認証済み受信者(1つまたは複数のメールアドレス)を追加できる迅速な認証方法です。例えば、cPanelサーバーに追加されたjohn.doe@example.comからjane.doe@gmail.comにメールを送信したい場合などに利用できます。この場合、jane.doe@gmail.comのメールアドレスをSendGridのシングル送信者認証に追加する必要があります。
NB: シングル送信者認証はテスト用途のみ推奨です。
NB: 認証したアドレスからのみ送信可能で、認証済みドメイン上の任意のアドレスからは送信できません。
シングル送信者認証を設定するには、SendGridダッシュボードの「設定」>>「送信者認証」メニュー>>「シングル送信者を認証」ボタンをクリックします:

次のページで、連絡先情報を入力して送信者を作成し、「作成」をクリックしてすべてを保存します:

その後、SendGridから認証メールが届きます。メールアドレスの追加を確認するには、メール内の「シングル送信者を認証」ボタンをクリックしてください:

方法2:ドメイン認証(推奨)
「設定」をクリックし、「送信者認証」メニューに進み、「ドメイン認証」欄の下で「ドメインを認証」ボタンをクリックします:

次のページで、最初と2番目のステップの質問に答えてドメイン名を認証し、「次へ」をクリックします:

NB: スクリーンショットでは、2番目の質問に「いいえ」と答えていますが、この回答は任意です。
その後、必要なドメイン名を入力し、必要に応じて追加設定を行い、「次へ」をクリックします:

次に、該当するCNAMEおよびTXTのDNSレコードを設定してドメイン名を認証する必要があります。
ドメインのDNSレコードが作成されたら、ステップ2で「これらのレコードを追加しました」ボックスにチェックを入れ、下の「認証」ボタンをクリックして追加を確認します:

NB: DNSレコードの伝播には最大24~48時間かかる場合があります。
ステップ10.次のステップはSMTP設定の構成です(WHM側のメールアカウント用)。
WHM>>「サービス構成」>>「Exim構成マネージャ」>>「詳細エディタ」タブを開きます。「Section: AUTH」を検索し、以下のコードを追加してください:sendgrid_login:driver = plaintextpublic_name = LOGINclient_send = : apikey : <API_KEY_VALUE>
必ず<API_KEY_VALUE>をステップ8で生成したAPIキーに更新してください。
ステップ11.その後、「Section: POSTMAILCOUNT」を探して、そこにも以下のコードを追加します:send_via_sendgrid:driver = manualroutedomains = ! +local_domains.ifdef SRSENABLED# if outbound, and forwarding has been done, use an alternate transporttransport = ${if eq {$local_part@$domain} \{$original_local_part@$original_domain} \{sendgrid_smtp} {sendgrid_forwarded_smtp}}.elsetransport = sendgrid_smtp.endifroute_list = "* smtp.sendgrid.net::587 byname"host_find_failed = deferno_more
ステップ12.「Section: TRANSPORTSTART」を探して、さらにもう1つコードを追加します:sendgrid_smtp:driver = smtphosts = smtp.sendgrid.nethosts_require_auth = smtp.sendgrid.nethosts_require_tls = smtp.sendgrid.net
ステップ13.SMTP設定を保存します。
ステップ14.システムが動作するかどうか、メールを送信して確認します。メールヘッダーには「SendGrid」の部分が含まれます。