0

この質問が他の場所で尋ねられたかどうかはわかりません...

私が取り組んでいる Web サイト プロジェクトでは、ボタンのクリック時にフォームの内容を含む電子メールを送信する ASPX Web フォームを作成しました。試してみたところ、Yahoo SMTPサーバーを使用していて、個人のYahooメールアドレスを使用してテストしているときに機能しました(+ユーザー名とパスワードを指定)。

ただし、Web サイトのメール メッセージに SMTP サーバーを使用している場合は機能しません (Web サイトで新しい管理者の電子メール アカウントを作成した後)。

Web サイトは稼働しており、Web サイトの管理者の電子メール アカウント (Yahoo 経由) に電子メールを送信できますが、ASPX Web フォームを介して送信する場合は送信できません。

これは Yahoo SMTP サーバーを使用するためのコードで、正常に動作します。

    SmtpServer.Credentials = New Net.NetworkCredential("username@yahoo.com", "password")
    SmtpServer.Port = "25"
    SmtpServer.Host = "smtp.mail.yahoo.com"
    mail.From = New MailAddress("username@yahoo.com")
    mail.To.Add("username@yahoo.com")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."
    SmtpServer.Send(mail)

ここで、動作しない私の Web サイトの SMTP サーバーを使用するためのコードを次に示します。

    SmtpServer.Port = "25"
    SmtpServer.Host = "127.0.0.1"
    mail.From = New MailAddress("admin@awesomewebsite.org.au")
    mail.To.Add("admin@awesomewebsite.org.au")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."
    SmtpServer.Send(mail)

これらは、Web サイトをホストする Web ホスティング会社から提供された正しいポート番号とホスト番号です。また、ユーザー名とパスワードは必要ないとも言いました。これをコードの先頭に追加しようとしましたが、それでも機能しません。

    SmtpServer.Credentials = New Net.NetworkCredential()

あるいは

    SmtpServer.Credentials = New Net.NetworkCredential("", "")

私は本当に何をすべきかわかりません。この初心者を助けてください。任意の応答をいただければ幸いです。

ところで、これを試してみると、メッセージ ボックスに「メールの送信に失敗しました」というエラー メッセージが表示されます。

4

2 に答える 2

1

Web サイトでメール アカウントを作成し、それらの資格情報を使用して yahoo で行ったのと同じようにメールを送信する必要があります (これは Web サイトの管理ポータルで行うことができますが、一部のホスティング プロバイダーはメール サービスに対して別途料金を請求します)。 . さらに、ホスティングプロバイダーに応じて、正しい smtp サーバーも指定する必要があります。その情報は、ホスティング プロバイダーから取得できます。とにかく、ここでは 127.0.0.1 は機能しません。

于 2012-09-25T09:49:06.543 に答える
0

「System.Net.Mail」をインポートしないでください。完成したコードを以下に示します。

    Dim SmtpServer As New Net.Mail.SmtpClient
    Dim mail As New Net.Mail.MailMessage
    SmtpServer.Host = "198.154.99.8"
    SmtpServer.UseDefaultCredentials = False
    SmtpServer.Credentials = New   System.Net.NetworkCredential("admin@awesomewebsite.org.au", "password")

    mail.From = New Net.Mail.MailAddress("admin@awesomewebsite.org.au")
    mail.To.Add("admin@awesomewebsite.org.au")
    mail.Subject = "RE: Message Subject"
    mail.Body = "Message goes here."

    SmtpServer.Send(mail)
于 2012-09-26T00:00:05.647 に答える