VB.netで作成したプログラムから送られるメールが一部相手(gmail.comやicloud.com宛)に届かない現象が起きました。
メールサーバーはlinuxにsendmailとpostfixをインストールして、
ドメインを外部で取得しそちらを利用しています。
linuxサーバからの直接のメールだと問題なく相手に届く場合もあります。
何か考えられる原因はありますでしょうか?
足りない設定や考えれられる要因などがあれば教えていただけますと幸いです。
メールの本文にはサイトのURLも含まれていますので、そちら原因になりうることは
あるのでしょうか?
以下、VB.netで利用しているプログラムの一部を記載します。
VB
1'メッセージの作成 2Dim msg As New System.Net.Mail.MailMessage() 3msg.From = New System.Net.Mail.MailAddress(送り先address, 表示名) 4msg.To.Add(New System.Net.Mail.MailAddress(宛先address,表示名)) 5msg.Subject = 件名 6msg.Body = メッセージ本文 7 8Dim sc As New System.Net.Mail.SmtpClient() 9 10'SMTPサーバーの設定 11sc.Host = "ホスト" 12sc.Port = "ポート" 13sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network 14'ユーザー名とパスワードの設定 15sc.Credentials = New System.Net.NetworkCredential(user,pass ) 16'メッセージの送信 17sc.Send(msg)
「直接のメールだと問題なく相手に届く場合もあります」とはどういうことですか?
届かない場合もあるのですか?
また、届かないというのは、エラーメッセージが返ってくるのでしょうか?
また、相手側のセキュリティ設定等(拒否など)はどうでしょうか?
おそらく、セキュリティの強弱で届く場合と届かない場合があるのではないかと思っておりますが、そこまでは検証しきれていません。
届かないのは、メッセージが返ってくるわけではなかったです。
相手側のセキュリティ設定はデフォルトのものだと思います。(多数の人にメールを送った時にgmailの人から届かないと連絡があることが多かったです。確認している限りではあとはicloud.comです。)
届く場合と、届かない場合で、メールヘッダーなどの差異を探してみるとなにかわかるかも。または、SMTPサーバーのログなどで Gmail等が返すSTMPのエラーコードがわかれば 対策が見えてくるかもしれません。
> 届く場合と、届かない場合
これは、
あるアドレスに送信して届く場合もあり、届かない場合もあるということですか?
それとも
あるアドレスには届くが別のアドレスには届かないということですか?
VB.netで指定しているSMTPサーバは 質問者が用意した メールサーバですか?
Gmailの迷惑メールフォルダに振り分けれているわけではありませんか?
