1

メールアカウントにメールを送信するフォームを作成し、次のコードを使用しました。

       Dim client As New SmtpClient()
        Dim emailmessage As New MailMessage()

        Dim emailfrom As New MailAddress(txtEmail.Text)

        emailmessage.Subject = "Web Submission"
        emailmessage.Body = "Web submission received from " & txtName.Text & ". Phone no: "     & txtPhone.Text & "."
        client.Host = "localhost"
        client.Port = 25
        emailmessage.From = emailfrom
        emailmessage.To.Add("info@test.com")

        client.Send(emailmessage)
        lblMessage.Text = "Thank you, we will contact you soon"

IISExpressを使用してプロジェクトを実行しています。私が正しければ、IISExpressがsmtpをサポートしていないことを知っています。ただし、コードが正しければ、正しく実行されるはずです。とにかく、.net公開ツールを使用して自分のサイトをgodaddyアカウントに公開しました。フォームからメールを送信しようとすると、次のエラーメッセージが表示されます。

メールボックスを利用できません。サーバーの応答は次のとおりです。5.7.1「info@test.com」を中継できません

Dim msg As New MailMessage()
        msg.To = "test@gmail.com"
        msg.From = "test@gmail.com"
        msg.Subject = "test"
        'msg.BodyFormat = MailFormat.Html
        msg.BodyFormat = MailFormat.Text
        msg.Body = "hi"

        SmtpMail.SmtpServer = "localhost"

        SmtpMail.Send(msg)
        lblMessage.Text = "An Email has been send to " & "test@gmail.com"

上記のコードを試しましたが、まだ機能しません。私はここで何をしているのか理解できません。私が使用したことを覚えていますが、これはいつか機能していました。しかし、私はその方法を思い出せません。

4

1 に答える 1

2

不足しているSmtpServerクレデンシャル

        client.Credentials = New Net.NetworkCredential("username@gmail.com", "password")

そうでない場合は、例http://codebetter.com/petervanooijen/2006/04/05/using-localhost-as-mailserver-5-7-1-unable-to-relay-に示すようにSMTP仮想サーバーを構成してください。 for-xxx /

于 2012-07-01T20:39:22.593 に答える