VB2010でメールを送信
投稿者 (削除されました)  ()
投稿日時
2012/11/24 02:11:07
(削除されました)
投稿者 ぽこた  (社会人)
投稿日時
2012/11/24 04:02:32
たぶんSMTPサーバを指定していないか、あるいはSMTPサーバに認証が必要かのどちらかでしょう。
下記プログラムのように、SendはTryの中に含めた方が、SMTPサーバに繋がらないときはエラーメッセージが出るので原因が把握しやすいと思います。
下記プログラムのように、SendはTryの中に含めた方が、SMTPサーバに繋がらないときはエラーメッセージが出るので原因が把握しやすいと思います。
Imports System.Net.Mail
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
' SMTPサーバーを指定する
Dim client As New SmtpClient("pastelsoft.sakura.ne.jp")
' 送信元、あて先、件名、本文を設定する
Dim fromAddress As String = "pocota@pastelsoft.sakura.ne.jp"
Dim toAddress As String = "hi@poc.jp"
Dim subject As String = TextBox1.Text
Dim body As String = TextBox2.Text
Try
' 送信する
client.Send(fromAddress, toAddress, subject, body)
MessageBox.Show("送信しました")
Catch ex As SmtpException
' SMTPサーバーへの接続に失敗した場合
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
投稿者 富士山  (その他)
投稿日時
2012/11/24 14:57:20
ぽこたさんのコードを実行してみましたが
client.Send(fromAddress, toAddress, subject, body)
この部分が指定されて
FormatExceptionはハンドルされませんでした
指定された文字列は、電子メール アドレスに必要な形式ではありません。
と エラーが出ます
client.Send(fromAddress, toAddress, subject, body)
この部分が指定されて
FormatExceptionはハンドルされませんでした
指定された文字列は、電子メール アドレスに必要な形式ではありません。
と エラーが出ます
投稿者 ぽこた  (社会人)
投稿日時
2012/11/24 18:19:11
正しくビルド出来ていません。
>Dim fromAddress As String = "pocota@pastelsoft.sakura.ne.jp"
>Dim toAddress As String = "hi@poc.jp"
この右辺、正しいメールアドレスになっていますか?(上記は例なので架空のものです。)
>Dim fromAddress As String = "pocota@pastelsoft.sakura.ne.jp"
>Dim toAddress As String = "hi@poc.jp"
この右辺、正しいメールアドレスになっていますか?(上記は例なので架空のものです。)
投稿者 まだまだ  (高校生)
投稿日時
2012/11/25 03:26:48
Mailの送信はVBの知識だけでなくNetworkについての知識もいるのでなかなか厄介なところがあります。
まずはSMTPについての予備知識を習得するとよいと思います。
また、SMTP Serverを所有(または利用できる権限)していないと送信できません。
おそらく原因はSMTP Serverの指定にあると思います。
PHP等の知識がある場合はsendmail(結局はSMTP Serverは必要ですが)で送るほうが楽かもしれませんね。ちなみに僕はそうしています。
まずはSMTPについての予備知識を習得するとよいと思います。
また、SMTP Serverを所有(または利用できる権限)していないと送信できません。
おそらく原因はSMTP Serverの指定にあると思います。
PHP等の知識がある場合はsendmail(結局はSMTP Serverは必要ですが)で送るほうが楽かもしれませんね。ちなみに僕はそうしています。
投稿者 ぽこた  (社会人)
投稿日時
2012/11/25 13:08:02
>指定された文字列は、電子メール アドレスに必要な形式ではありません。
というエラーが出た場合、単にメールアドレスが間違っているだけだと思いますよ。
たとえば「mail@domain.ne.jp」とすべきところを「mail.domain.ne.jp」となっているとか。
というエラーが出た場合、単にメールアドレスが間違っているだけだと思いますよ。
たとえば「mail@domain.ne.jp」とすべきところを「mail.domain.ne.jp」となっているとか。
投稿者 富士山  (その他)
投稿日時
2012/11/25 15:09:29
まだまだ勉強不足なので 他の方法を探して そこから発展したいと思います
ありがとうございました
ありがとうございました
投稿者 富士山  (その他)
投稿日時
2012/11/25 15:09:32
まだまだ勉強不足なので 他の方法を探して そこから発展したいと思います
ありがとうございました
ありがとうございました
投稿者 ぽこた  (社会人)
投稿日時
2012/11/25 20:51:38
SMTPでビビっちゃったんでしょうか。ごめんなさい。
本当はそんなに難しくはないんですよ~。
1回うまくいけば、あとはもう自由自在ですから。
気が向いたら戻ってきてくださーい(;_;)/~
本当はそんなに難しくはないんですよ~。
1回うまくいけば、あとはもう自由自在ですから。
気が向いたら戻ってきてくださーい(;_;)/~
投稿者 富士山  ()
投稿日時
2012/12/4 21:43:24
ぽこたさん ありがとうございます
sc.Send(msg)がハンドルされませんでした
使ってるPCはWindows XPです
どうすれば良いのか教えて下さい
下がそのコードです
何度もVBの質問をしてすいません・・・