PHPでメール送信する際、SMTPを利用するメリットについて教えてください。
ログイン認証でメールを送信したいのですが、
SMTPを利用した方がよいか、判断がつきません。
例えば、
http://www.sapphirus.biz/php/sformmail2/
http://www.sapphirus.biz/php/sformmail2s/
では、SMTPの方は「認証」が必要なので、
それだけ大変そうなのですが、
SMTPを利用する、しない場合の、
「メリット」「デメリット」を教えてください。
また、SMTPを利用しないやり方(メールアドレスを書いてmail関数を利用)は、
何方式と呼ぶのでしょうか? WEBメール方式?
環境) レンタルサーバ
現状) SMTPを利用せずにメールは送れるのですが、
どういう仕組みで届くか理解できてません
No.3ベストアンサー
- 回答日時:
前に回答した者です。
> そうすると、PHPというかメールの仕組み自体の話で恐縮なのですが、
「何も認証しないで送る方法」というのは、
いきなり、SMTPでメールを送りつけて、
そのメールアドレスからメールサーバ(?)を割り出して、
もし、アドレスが違っても、エラーは返ってこない、
みたいな流れになるのでしょうか?
ほぼほぼその通りです。
認証なしに、@以降のドメインに向けてメールを送りつけます。
ちなみに認証する方法をとっても、自分が発出するメールサーバーに対しての認証です。
エラーがあった場合は、発出したメールサーバーに対してエラーが返ってくるといった感じです。
でも発出するメールサーバーも本来のメールサーバーアドレスでない定義ができるはずなので、その場合はネットの藻屑となります。(戻り先がないので)
No.2
- 回答日時:
mailを使った場合には、一般的なレンタルサーバであればsendmailコマンドでの送信が実行されます。
一方、SMTP認証を使うケースでは他のSMTPサーバへも接続可能です。お使いのプロバイダのSMTPサーバが(そのプロバイダの)ネットワーク外からの接続を許可していれば、そちらのサーバから送信することが出来ます。共有のレンタルサーバの場合、サーバーのIPアドレスがspamデータベースに登録されてしまっていることがあり(昨日までOKでも、いつ登録されてしまうかわからない)不達を避けるために自分が契約しているプロバイダのSMTPサーバを使うことがあります。
phpだとSMTPを使うライブラリも多いので、そういうライブラリを使えば如何でしょうか?
・http://www.google.co.jp/search?q=php%20SMTP&hl=ja
この回答への補足
回答ありがとうございます。
>一般的なレンタルサーバであればsendmailコマンドでの送信が実行されます。
これは、自分が借りているレンタルサーバのメールサーバを利用して、メール送信する、という意味でしょうか?
>一方、SMTP認証を使うケースでは他のSMTPサーバへも接続可能です。お使いのプロバイダのSMTPサーバが(そのプロバイダの)ネットワーク外からの接続を許可していれば、そちらのサーバから送信することが出来ます。
これは、メール発信先が、メールアドレスから割り出したメールサーバになる、という意味なのでしょうか? ここで言う「他のSMTPサーバ」とは、何を指しているのでしょうか?
No.1
- 回答日時:
こんばんは
何か少し勘違いをされているようです。
メールを送信する時に使うプロトコルはすべて、
SMTP(Simple Mail Transfer Protocol)を利用しますので、
SMTPを利用しないメール送信方法はありません。
上記にあげている2つの方法の違いですが、
送る前に正しいアカウントからの接続かどうかを確認する方法と、
その確認をしないで送る方法かどうかです。
SMTP版を利用するメリットとしては、正規のアカウントからの送信要求で
ない場合、送信できなくできる(認証ではじく)というものです。
デメリットはそれを防げない、ということとなります。
SMTP版の方の通称は、認証方式の1つで「SMTP認証」といいますが、
(http://e-words.jp/w/SMTP20Authentication.html)
何も認証しないで送る方法は、特に送信方法として名前があるようには
認識していません。
この回答への補足
回答ありがとうございます。
>SMTPを利用しないメール送信方法はありません
そうすると、PHPというかメールの仕組み自体の話で恐縮なのですが、
「何も認証しないで送る方法」というのは、
いきなり、SMTPでメールを送りつけて、
そのメールアドレスからメールサーバ(?)を割り出して、
もし、アドレスが違っても、エラーは返ってこない、
みたいな流れになるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- ドメイン・サーバー・クラウドサービス Google Workspaceでの独自ドメインのメール送信について 2 2022/05/31 19:48
- その他(ソフトウェア) PC上のOutlookでIMAPアクセス時の送信が出来ない。Android上では問題なし。 2 2022/09/28 11:22
- システム メール送信について、ドメイン「@liam.co.jp」でメールを送信します。 ネットワークaにあるA 2 2022/05/31 15:47
- その他(メールソフト・メールサービス) Thunderbirdのメール送信ができません 1 2022/10/28 16:54
- ネットワーク ニフティメールのiPhoneとWin PCでの運用 1 2023/03/30 11:19
- 所得税 電子税?のメールについて教えてください 8 2022/09/04 21:38
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(メールソフト・メールサービス) SMTPステータスコードとは? 2 2023/04/23 23:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
VBでメールを送る時のSMT...
-
ブラウザの更新ボタン
-
HPの更新をしたら自動でメール...
-
処理の早いメール送信プログラム
-
PHPでping送信。送信できたか知...
-
UWSCにつきまして
-
ホームページのフォームから送...
-
一定時間毎に同じ動作を繰り返...
-
ロリポップと、phpで自動の返信...
-
【エクセルVBA】メール送信前に...
-
mb_send_mail関数により送信さ...
-
二重投稿防止方法
-
onedrive にexcelファイルをア...
-
こちらはただの直列処理ですか?
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
コマンドプロンプトで添付ファ...
-
存在しないメールアドレスかど...
-
VB6にてメールを送信する方法
-
ヒアドキュメントを利用してメ...
-
メールアドレスの存在確認はで...
-
Bookを閉じて保存した時のみ実...
-
AccessのDoCmd.SendObjectについて
-
submitボタンの二重送信について
-
リファラが取得できない?
-
HPの更新をしたら自動でメール...
-
javamailで220の応答が遅い
-
Q)PHPでメール送信について
-
<HTML>~入る タグ が無いから ...
-
mail関数を使うと遅いので
-
phpメールフォームから送信され...
-
ロリポップと、phpで自動の返信...
-
ループの中で mailItemObj.Disp...
-
ランダムな文字列を生成しその...
-
VB.NETでフリーメールアドレス...
おすすめ情報