• ベストアンサー

SmtpMailクラスについて

基本的な事がわかっていない私にご教授下さい。 VB.NETでSmtpMailクラスのSmtpMail.Sendを使って メール送信のプログラムを作りました。 結果的にうまくいったのですがメールサーバーには System.Web.Mail.SmtpMail.SmtpServer = "myserver" と、普段使っているサーバー名を指定しただけです。 ユーザーIDとかパスワードも指定していないのに 何故これで送れるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

SMTP自体の仕様には、認証の仕組みがありません。 別途、SMTP AuthやIPアドレスによる接続可否とかの設定を行ってなければ、リクエストされたとおり、そのままメールします。 ――っていう話では。

参考URL:
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc821j.html
tinysoho
質問者

お礼

有難うございます! SMTP Authという言葉をヒントに探したら、なんとなくわかってきました。 SMTPはもともと認証を持たない単純な仕様だったんですね。 それでスパム防止に「POP before SMTP」が生まれた・・と。 ただ、SMTP Authが使われているとしたら同じサーバーで複数のアカウントを持っている場合 どのアカウントのものが使用されているのか・・・等が不明ですが ひょっとしてSmtpMailクラスでは使われていないのかな? とっても助かりました。

関連するQ&A