WordPress でお問い合わせフォームや通知メールを送るとき、 SMTPサーバーを設定していないのに普通にメールが届くことがあります。
「SMTPを指定していないのに、どうやって送ってるの?」 と疑問に思う人も多いはずです。
結論から言うと、WordPress は SMTP を直接使っていません。 メール送信は サーバー側の仕組み(sendmail / postfix) に任せています。
WordPressのメール送信の仕組み
WordPress がメールを送るときの流れは次の通りです。
WordPress(wp_mail)
↓
PHP の mail() 関数
↓
サーバーの sendmail / postfix
↓
SMTP で送信
ポイントは、 WordPress は SMTP を使わず、PHP の mail() を呼び出しているだけ という点です。
SMTP を使っているのは WordPress ではなく、 その下で動いている サーバー側のメール転送プログラム です。
なぜSMTPを指定しなくても送れるのか?
レンタルサーバー(さくら、Xserver、ConoHa など)は、 最初から sendmail や postfix が設定済み です。
そのため、WordPress が
「メール送って」
と PHP に投げるだけで、 サーバー側が SMTP を使って勝手に送信してくれます。
つまり、
- WordPress → SMTP を知らない
- サーバー → SMTP を担当している
という役割分担になっています。
デフォルトのメール送信の弱点
PHP の mail() は便利ですが、弱点もあります。
- 迷惑メールに入りやすい
- Gmail に届きにくい
- SPF/DKIM が弱い
- 送信ログがほぼ取れない
- 送信元アドレスがサーバー依存になる
特に Gmail は PHP mail() を嫌う傾向が強く、 届かないケースも珍しくありません。
SMTPプラグインを使うとどう変わる?
WordPress では、 WP Mail SMTP などのプラグインを使うことで SMTP を直接指定して送信できます。
SMTP を使うメリットは大きく、
- 迷惑メールに入りにくい
- Gmail / Outlook に届きやすい
- 独自ドメインのメールを正しく使える
- 送信ログが残る
- 認証(SMTP-AUTH)で安全
特にビジネス用途では、 SMTP を使ったほうが圧倒的に安定します。
まとめ

WordPress が SMTP を指定しなくてもメールを送れる理由は、
WordPress → PHP mail() → サーバーの sendmail/postfix → SMTP
という仕組みで動いているからです。
WordPress 自体は SMTP を使っていません。 SMTP を担当しているのはサーバー側です。
ただし、 迷惑メール対策や到達率を考えると、 SMTPプラグインを使って送信方法を改善するのがベストです。



人気ブログランキング ブログパーツ