プロが教える店舗&オフィスのセキュリティ対策術

VBでBSMTP.DLLのSendMailを使ってメール送信するプログラムを使っています。
相手先アドレス不正などの場合は、SendMailの戻り値でエラーを識別できるのですが、正常終了しているにも関わらずそのメールが相手先に到着しないという現象が出ています。
原因として、どういうことが考えられるでしょうか?
心当たりのある方がいらっしゃいましたら、ご指導をお願いいたします。

ret = SendMail(SMTP_SVNm, szTo, szFrom, szSubject, szBody, szFile)
If Len(ret) <> 0 Then
MsgStr = "送信エラー"
Else
MsgStr = "送信完了"
End If

A 回答 (2件)

>相手先アドレス不正などの場合は...


メール送信はSMTPサーバにメールを渡すまでの仕組みです。
その先で相手サーバに渡るかどうかは送信段階では
エラーとして通知されません。

>ということはSendMailでちゃんとメールが送られたかどうかは、
>どうやってもわからないということでしょうか?
Eメールシステムでは送信先ドメインのメール受信サーバが宛先不明を返すものと、返さないものがあるのですが、いずれにしても送信時点では自分のドメイン内以外は判定できません。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/09/05 16:31

>相手先アドレス不正などの場合は、SendMailの戻り値で>エラーを識別できるのですが、



いいえ、識別できないのが当然でして..
どういう場合に識別できるのでしょう。

お使いのメーラでメアドを間違えた場合はどうなりますか?

この回答への補足

>お使いのメーラでメアドを間違えた場合はどうなりますか?
MailSendingErrorというメールが返送されてきました。

>いいえ、識別できないのが当然でして..
あ、私の勘違いなのでしょうか?
ということはSendMailでちゃんとメールが送られたかどうかは、
どうやってもわからないということでしょうか?
すみません。教えてください。

補足日時:2005/09/05 12:39
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/09/05 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!