
VisualStudio2005で開発をしています。
SmtpClientクラスを使ってメールを自動送信するアプリを作成中なのですが、
社内サーバー同士でのメール送信は問題ないのですが、社外のメールサーバーのアドレスを指定した場合に、メールが送信されなくて困っています。
○例:)yyyyyy@xxxxxx.co.jp → zzzzzz@xxxxxx.co.jp
×例:)yyyyyy@xxxxxx.co.jp → zzzzzz@zzzzz.com
調べてはみたのですが、原因を特定することができなかったので質問させていただきました。
1.googleやyahooなどのメールサーバーに対してでもメール送信できるようにしたいのですが、どの様にすればいいでしょうか?
2.上記のように書きましたが、本当はメールサーバまでは送信されていて、クライアントが受け取れていないという可能性もあるのでしょうか?
皆様のお力を借りたく思います。
どうかよろしくお願いいたします。
↓↓↓以下、現在作成中のソースコード↓↓↓
Private Sub btn_Send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Send.Click
'送信者
Dim senderMail As String = "xxxxx@yyyyy.co.jp"
''宛先
Dim recipientMail As String = "xxxxx@yyyyy.com"
'件名
Dim subject As String = "タイトル"
'本文
Dim body As String = "本文1行目" + vbCrLf + vbCrLf + "本文3行目"
Dim sc As New System.Net.Mail.SmtpClient()
' メールメッセージインスタンスの生成
Dim objMessage As New System.Net.Mail.MailMessage(senderMail, recipientMail, subject, body)
'SMTPサーバーを指定する
sc.Host = "mail.yyyyy.co.jp"
sc.Port = 25
'メールを送信する
sc.Send(objMessage)
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
その社内メールサーバが 外部向けのルーティングを行わないような設定をされてはいませんか?
メールサーバの管理者に問い合わせてみましょう
または メールサーバから 配信不能メールが返ってきたりしていませんか?
Mail-Deamon とかが送信者で 添付ファイルつきの物ですが ・・・
>その社内メールサーバが 外部向けのルーティングを行わないような設定をされてはいませんか?
外部向けのルーティングを行わないような設定は特にしてないそうです
実際、Outlookなどのメーラーを使用するとGoogleやYahooにもメールが送信され、受信ボックスに入っています
>または メールサーバから 配信不能メールが返ってきたりしていませんか?
配信不能メールも返ってきません
どうにかプログラムから送れるようにならないでしょうか?
No.2
- 回答日時:
メールサーバーのポートは標準設定以外なら 毎回設定する必要があると思いますよ
dim sc as new SmtpClient
MsgBox sc.Port
を実行すると『25』が表示されると思います
gmail.comなら これを
dim sc as new SmtpClient
sc.Port = 465
yahooなら
dim sc as new SmtpClient
sc.Port = 587
といった具合に指定しないとだめなような気がします
たびたび申し訳ありませんが、質問させてください。
試しにgmail経由の宛先をyahooにした場合
(質問での送信者が<xxxxxx@gmail.com>宛先が<xxxxxx@yahoo.co.jp>)
にした場合、
sc.Host = "smtp.gmail.com"
sc.Port = 587
sc.EnableSsl = True
sc.Credentials = New System.Net.NetworkCredential("UserID", "PassWord")
と指定するだけで送信する事ができました。
しかし、社内サーバーを送信者に指定した時、gmailやyahooなどにメールを送ろうとすると、送信は成功するようですがgmailやyahooの受信ボックス(迷惑メールボックスも)には受信されておりません。
何が原因なのか特定できず、困っています。
ご面倒をおかけしますが、何卒ご回答の程よろしくお願いします。
No.1
- 回答日時:
Yahooやgoogleってメールサーバーのポートが変更されていますよ
YahooBBなどで直接Yahooに接続しているなら 25でいいのですが
... googleの場合は直接続のプロバイダってあったかなぁ?
他のプロバイダ経由ですと Yahooの場合は587 googleの場合は465のはずですよ
ご回答ありがとうございます。
>他のプロバイダ経由ですと Yahooの場合は587 googleの場合は465のはずですよ
これは下記のように指定する事を指しているのでしょうか?
sc.Host = "smtp.gmail.co.jp"
sc.Port = 587
メールを送る際には相手のメールサーバーのポートを毎回プログラムで指定してやる必要があるのでしょうか?
上記はググって調べてみたのですが、回答が得られませんでしたので再度質問させて頂きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
submitボタンの二重送信について
-
メールフォームの重複送信の制...
-
ロリポップと、phpで自動の返信...
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
*.php、*.php3、*.phtmlの違い
-
CFileDialogの最初のディレクト...
-
シェルスクリプトをPHPで動かそ...
-
php4とphp5での数値の取り扱い...
-
require_once()でファイルが読...
-
PHPのif文でその処理を途中で抜...
-
「クラス関数」「メンバ関数」...
-
ZendFrameworlkでZend_Session...
-
HPを開くとダウンロードページ...
-
ImageCreate関数が undefined f...
-
Warning: Invalid argument sup...
-
phpのextension_dirを複数指定...
-
PHPからlhaコマンドを使いたい
-
require_onceが動いていない
-
再度、xamppにおけるjpgraphの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループの中で mailItemObj.Disp...
-
SoftBankにメール送信できない
-
【エクセルVBA】メール送信前に...
-
basp21 Proでのメールの暗号化...
-
VBでメールを送る時のSMT...
-
コマンドプロンプトで添付ファ...
-
空メール送信~メールアドレス取得
-
BASP21を使って
-
存在しないメールアドレスかど...
-
SendMailがエラーを返さない
-
HPの更新をしたら自動でメール...
-
VB.NETでフリーメールアドレス...
-
Bookを閉じて保存した時のみ実...
-
一定時間毎に同じ動作を繰り返...
-
phpでメールを送信
-
PHPで空メールの自動返信を作り...
-
$_SERVER{'HTTP_X_UP_SUBNO'}取...
-
javamailで220の応答が遅い
-
PHPでメール送信する際の送信数...
-
UWSCにつきまして
おすすめ情報