質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

解決済

GmailのSMTPリレーを用いてメール送信した場合の送信元アドレス

avantgarden
avantgarden

総合スコア118

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

2回答

0評価

1クリップ

1047閲覧

投稿2022/03/13 08:16

編集2022/04/06 12:39

メールの送信パターンは

  • WebサイトからPHP(phpmailerなど)で送信
  • クライアントPC(メーラー)で自サーバードメインのメールアカウントを設定し、メーラーから送信

の2パターンです。

※自サーバーのMTAはPostfixなので、Postfixの前提で質問内容を記載します
※メーラーでのメールアカウント設定は、自サーバーでメールアカウントを作成した際のアカウント情報(アカウント名、パスワード)で設定することを前提にしています。
※自サーバーはCentOSのVPSです。

PHPから送信の場合

use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; $mail = new PHPMailer(true); $host = 'smtp.gmail.com'; $username = 'Gmailアカウント@gmail.com'; $password = 'Googleのアプリパスワード'; $from = '自サーバードメインのメールアドレス'; $fromname = '差出人名'; $to = '送信先メールアドレス'; $toname = '宛名'; $subject = '件名'; $body = '本文'; $mail->isSMTP(); $mail->SMTPAuth = true; $mail->Host = $host; $mail->Username = $username; $mail->Password = $password; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->setFrom($from, $fromname); $mail->addAddress($to, $toname); $mail->Subject = $subject; $mail->Body = $body;

を実行すると、受信側での送信元メールアドレスが「Gmailアカウント@gmail.com」になります。これを「自サーバードメインのメールアドレス」になるようにしたいのですが、これまでSMTPリレーをさせたことが無く、根本的な質問も含め、下記についてご教示いただけでしょうか。

  1. 上記のPHPによるメール送信は、自サーバーのSMTPから送信→GmailのSMTPを経由して送信先アドレスへ送信という流れでメール送信が行われている、という理解で合ってるのでしょうか。

  2. メーラーから送信する場合、自サーバーのPostfixでGmailのSMTP認証ファイル、DBファイル、main.cfの追記を行うことでリレー送信ができるということを調べたのですが、この場合は受信側での送信元アドレスは「自サーバードメインのメールアドレス」になるのでしょうか。

  3. 2のPostfixの設定は、PHPからメールを送信(上記コードの内容で送信)する場合も必要なのでしょうか。(1の質問内容自体にも関わる質問です)

よろしくお願い致します。

【追記】
Gmail経由で送信させようとする目的は、メールの信頼性を高めることです。自サーバーのSMTPからの送信だと、PSFやDKIMなどの対策を行っても、迷惑メールと判定されたり到達しなくなることがあるため、リレー送信させることで、より安定的にメール送信を行いたいと思っています。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

avantgarden

2022/03/13 13:12

【追記】 Gmail経由で送信させようとする目的は、メールの信頼性を高めることです。自サーバーのSMTPからの送信だと、PSFやDKIMなどの対策を行っても、迷惑メールと判定されたり到達しなくなることがあるため、リレー送信させることで、より安定的にメール送信を行いたいと思っています。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Gmail

GmailとはGoogleによって提供されているウェブメールのサービスのことです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。