C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: VBからメール送信できない


(過去ログ 79 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■46590 / inTopicNo.1)  VBからメール送信できない
  
□投稿者/ カレポテ (1回)-(2010/02/05(Fri) 23:17:27)

分類:[VB.NET/VB2005 以降] 

Outlook Express6.0からメール送信できるのですが、
VB2008で組んだプログラムから送信できません。

ソースは下記のとおりです。
Sendメソッドで『操作がタイムアウトしました。』となってしまします。
どなたかアドバイスを頂けると助かります。よろしくでお願いします。

ちなみに、Outlookのアカウント設定なのですが、
通常の設定のほかに、
[アカウントプロパティ]
サーバータブの送信メールサーバー欄の「このサーバーは認証が必要」にチェックを入れ
詳細設定タブのサーバーのポート番号欄の「このサーバーはセキュリティで保護された接続(SSL)が必要」
にチェックを入れると、Outlookからメール送受信できる状態になります。


Dim msg As New System.Net.Mail.MailMessage( _
"XXXXXXXXX@XXXXX.XXXX.ne.jp", "XXXXXXX@hotmail.co.jp", "題名", "本文")
Dim sc As New System.Net.Mail.SmtpClient("XXXX.XXXX.ne.jp", XXX)

'ユーザー名とパスワードを設定する
sc.Credentials = New System.Net.CredentialCache

sc.Credentials = New System.Net.NetworkCredential("アカウント", "パスワード")
sc.EnableSsl = True
sc.Timeout = 3000
'メッセージを送信する
sc.Send(msg)
'後始末
msg.Dispose()
引用返信 編集キー/
■46594 / inTopicNo.2)  Re[1]: VBからメール送信できない
□投稿者/ オショウ (513回)-(2010/02/06(Sat) 00:37:33)
No46590 (カレポテ さん) に返信
> Outlook Express6.0からメール送信できるのですが、
> VB2008で組んだプログラムから送信できません。

  Outbound Port25 Blocking ではないですか?
  Outlookの方は、送信ポートが25から587とかに変更になってませんか。

  よって、ポート番号を指定して送信するように修正すれば・・・

  http://dobon.net/vb/dotnet/internet/smtpport.html

  お試し下さい。

※ プロパイダ側から指定されていると思いますので、その指定
  された送信ポート番号にして下さい。

以上。
引用返信 編集キー/
■46600 / inTopicNo.3)  Re[2]: VBからメール送信できない
□投稿者/ カレポテ (2回)-(2010/02/06(Sat) 10:39:08)
オショウさん。返信ありがとうございます。

> ※ プロパイダ側から指定されていると思いますので、その指定
>   された送信ポート番号にして下さい。

ソースには記載していなかったのですが
Dim sc As New System.Net.Mail.SmtpClient("XXXX.XXXX.ne.jp", 465)←この部分でプロバイダ指定のポートを指定しています。

どこに問題があるのでしょうか?




引用返信 編集キー/
■46603 / inTopicNo.4)  Re[3]: VBからメール送信できない
□投稿者/ もりお (180回)-(2010/02/06(Sat) 10:47:58)
No46590 (カレポテ さん) に返信

> sc.Timeout = 3000

タイムアウトが短すぎるのではないでしょうか。
既定値の 100000 をセットしてみてはいかがでしょうか。

他に確認点として SSL は Explicit SSL でしょうか。
それとも Implicit SSL でしょうか。
SmtpClient は Implicit SSL には対応していないです。

たとえば Gmail の場合
ポート 587 を利用した TLS は Explicit SSL
ポート 465 を利用した SSL は Implicit SSL

引用返信 編集キー/
■46607 / inTopicNo.5)  Re[4]: VBからメール送信できない
□投稿者/ カレポテ (3回)-(2010/02/06(Sat) 11:55:36)
もりおさん返信ありがとうございます。

> 既定値の 100000 をセットしてみてはいかがでしょうか。
↑試してみましたが、うまくいきませんでした。

> SmtpClient は Implicit SSL には対応していないです。
↑はじめて知りました。ありがとうございます。

> ポート 465 を利用した SSL は Implicit SSL
それでは、Implicit SSLをVBから送る場合は
どのようにすればよろしいのでしょうか?

引用返信 編集キー/
■46608 / inTopicNo.6)  Re[5]: VBからメール送信できない
□投稿者/ やじゅ (1511回)-(2010/02/06(Sat) 12:29:54)
やじゅ さんの Web サイト
2010/02/06(Sat) 12:35:18 編集(投稿者)

>■No46607 (カレポテ さん) に返信
>ポート 465 を利用した SSL は Implicit SSL
> それでは、Implicit SSLをVBから送る場合は
> どのようにすればよろしいのでしょうか?

仕様?っぽい
「System.Net.Mail.SmtpClient SSL 465」で検索するといいです。

system.net.mail クラスでのSSLを使った認証ができない
http://blogs.yahoo.co.jp/tksoft/55971536.html
Port 587ならOK
http://blogs.dion.ne.jp/freeasier/archives/cat_155976-1.html
引用返信 編集キー/
■46609 / inTopicNo.7)  Re[5]: VBからメール送信できない
□投稿者/ もりお (181回)-(2010/02/06(Sat) 13:16:52)

No46607 (カレポテ さん) に返信

> それでは、Implicit SSLをVBから送る場合は
> どのようにすればよろしいのでしょうか?

smtp クラスを自作してみたり
あるいは、System.Web.Mail.SmtpMail クラスを使用してみたり
もしくは、外部ライブラリを利用したりしてみてはいかがでしょうか。

.NET用メール送受信クラスライブラリ (TKMP.DLL)
http://uwa.potetihouse.com/library/tkmpdll.html

Secure Mail 2.0J 製品仕様 | グレープシティ株式会社
http://www.grapecity.com/japan/support/database/p7_370.htm

引用返信 編集キー/
■46631 / inTopicNo.8)  Re[6]: VBからメール送信できない
□投稿者/ カレポテ (4回)-(2010/02/07(Sun) 18:46:26)
いろいろアドバイスをいただき
ありがとうございました。

System.Web.Mail.MailMessageクラスをつかい
メールを送ることができました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -