質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

1147閲覧

http(asp.net)でのメールの送信(SmtpClient)について

yyflex

総合スコア8

Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2023/09/21 10:17

実現したいこと

http(asp.net)でメールを送信したい。

前提

asp.net WebForm(Vb.net)でメール送信の画面を作成しています。
社内のWebページでメールを送信する用のページです。

発生している問題・エラーメッセージ

VisualStudio(2010)のデバッグで正しくメールが送信されるのですが、
IIS(別端末)で同じWebページからメールの送信をすると
「メールの送信中にエラーが発生しました: SMTP サーバーにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。 サーバーの応答:5.7.0 Authentication required」
というエラーになってしまいます。

VisualStudioでうまくいってるんで、Smptサーバの設定等はあっているとは思うのですが。。。

該当のソースコード

asp.net

1 Public Sub MailSetting() 2 With EMailData 3 'タイトル 4 .Subject = "Title" 5 6 '本文 7 .Body = "Honbun" 8 9 '添付ファイル 10 .attachmentPath = "\\Nas\PDF\ZZZZ.PDF" 11 12 'メール送信先 13 .Recipient = "xxxxx@gmail.com" 14 15 End With 16 17 _EMailFromAddr = "xxxxx@yyyyy.zzzz.org" 18 _EMailFromName = "送信専用" 19 _EMailPassWord = "ABCDEFG1234" 20 _SmtpSv = "yyyyy.zzzz.org" 21 _SmtpSvPort = 587 22 End Sub 23 Public Sub EmailSend2(ByVal EMailData As SendEMailData, ByRef PG As Page) 24 25 With EMailData 26 ' 送信元メールアドレス 27 Dim fromAddress As New MailAddress(_EMailFromAddr, _EMailFromName) 28 29 ' 送信先メールアドレス 30 Dim toAddress As New MailAddress(.Recipient, "") 31 32 ' メールオブジェクトの作成 33 Dim mail As New MailMessage(fromAddress, toAddress) 34 mail.Subject = .Subject 35 mail.Body = .Body 36 37 ' メールに添付ファイルを追加 38 Dim attachment As New Attachment(.attachmentPath) ' ファイルのパスを指定 39 mail.Attachments.Add(attachment) 40 41 ' SMTPクライアントの設定 42 Dim smtpClient As New SmtpClient(_SmtpSv, _SmtpSvPort) 43 smtpClient.EnableSsl = True ' SSLを有効にする 44 smtpClient.UseDefaultCredentials = False ' デフォルトの認証情報を使用しない 45 46 ' SMTP認証情報を設定(必要な場合) 47 smtpClient.Credentials = New NetworkCredential(_EMailFromAddr, _EMailPassWord) 48 49 Try 50 ' メールを送信 51 smtpClient.Send(mail) 52 53 Catch ex As Exception 54 ' 送信エラー時の処理を追加 55 PG.Response.Write("メールの送信中にエラーが発生しました。もう一度お試しください。: " & ex.Message) 56 Finally 57 ' メールオブジェクトを解放 58 mail.Dispose() 59 End Try 60 61 End With 62 63 End Sub

試したこと

TLSに対応していないメールアドレスではうまくいきました。
その場合は「smtpClient.EnableSsl = True ' SSLを有効にする」行の削除しました。

補足情報(FW/ツールのバージョンなど)

asp.netのバージョン 4.8.9181.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yyflex

2023/09/22 00:48

ご意見ありがとうございます。 Nugetで追加しようとしたところ、エラーでインストールできず、 時間もないため、クライアントよりTLS未対応のメールアドレスで良い とのことですので、そちらで対応することになりました。 貴重なご意見ありがとうございました。
guest

回答1

0

自己解決

時間の関係上、クライアントよりTLS未対応のメールアドレスで良いとの回答をいただきまして、そちらで対応することになりました。

投稿2023/09/22 00:50

yyflex

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問