プロが教えるわが家の防犯対策術!

http://www.microsoft.com/japan/msdn/vbasic/migra …
を参考に
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim message As New System.Net.Mail.MailMessage("from@yahoo.co.jp", "to@yahoo.co.jp")
message.Subject = "件名"
message.Body = "本文"
Dim client As New System.Net.Mail.SmtpClient("smtp.mail.yahoo.co.jp", "587")
client.Send(message)
MessageBox.Show("メールを送信しました。", "送信終了")
Catch ex As Exception
MessageBox.Show(ex.Message, "エラー")
End Try
End Sub
実行すると
SMTPサーバにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。サーバの応答:Sorry,please use SMTP-AUTH instead
と表示されます。
ユーザ認証の
client.Credentials = New System.Net.NetworkCredential("from-userName", "from-Password")
を client.Send(message) の前に追加しても同じ結果でした。
どのようにすれば送信できるか教えてください。

A 回答 (1件)

ユーザー認証に使うIDを間違えていませんか?



Yahooのメールアドレスが『***@yahoo.co.jp』の場合***がユーザーIDになります

当方の場合Credentialsを設定しないと 同様のエラーでした
上記のように適切なID/PASSWORDを設定すればOKでしたよ

これでもうまくいかないなら『POP Before SMTP』で引っかかっているのかも
その場合は POPの手順を組んでやる必要がありそうです
『POP3メールサーバーからメールを受信する』
http://dobon.net/vb/dotnet/internet/receivepop3m …
の POP3サーバーにログオンする部分だけ つまり PASSの送出/レスポンスの受信までを組み込んでみましょう
    • good
    • 0

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