2010-12-05 8 views
0

誰かが私を助けることができますpls。私は自分のWebアプリケーションを展開する準備ができています。私はユーザーに私にメッセージを送ってもらいたい連絡フォームを持っています。私は提出をクリックすると、私はsmtpを作成した、私はエラーメッセージが送信することはできません。 アプリケーションはまだ私のローカルマシンにあるかもしれません。しかし、私はちょうどこのコードは私のフォームのために良いですかどうかを知りたい:asp.net mailmessageの設定

Imports System.Net.Mail 


Partial Class contact 
    Inherits System.Web.UI.Page 

    Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate 
     If txtComments.Text.Length > 300 Then 
      args.IsValid = False 
     Else 
      args.IsValid = True 
     End If 
    End Sub 

    Protected Sub Wizard1_FinishButtonClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick 
     SendMail(txtEmail.Text, txtComments.Text) 
    End Sub 

    Private Sub SendMail(ByVal from As String, ByVal body As String) 
     Dim mailServerName As String = "SMTP.relay-hosting.secureserver.net" 
     Dim message As MailMessage = New MailMessage(from, "[email protected]", "feedback", body) 
     Dim mailClient As SmtpClient = New SmtpClient 

     mailClient.Host = mailServerName 
     mailClient.Send(message) 
     message.Dispose() 
    End Sub 
End Class 

エラーがこのコード行に表示されます。mailClient.Send(メッセージ) は私が誰

+2

例外または内部例外からのエラーメッセージには、問題の原因が含まれている必要があります。彼らは何ですか? –

+0

telnetを使用して設定を確認し、最初に動作していることを確認します。 http://technet.microsoft.com/en-us/library/aa995718%28EXCHG.65%29.aspx – shamazing

+0

ホストは単に「[email protected]」ではありませんか?また、fromドメインがサイトのドメインであることを確認してください。 http://stackoverflow.com/questions/4356076/configuring-smtp-settings/4356135#4356135 – rcravens

答えて

1
protected void Button9_Click(object sender, EventArgs e) 
{ 
    { 
     var fromAddress = new MailAddress("[email protected]"); 
     var toAddress = new MailAddress(TextBox13.Text); 
     const string fromPassword = "commando1"; 
     string subject = TextBox14.Text; 
     string body = TextBox12.Text; 

     var smtp = new SmtpClient 
     { 
      Host = "smtp.gmail.com", 
      Port = 587, 
      EnableSsl = true, 
      DeliveryMethod = SmtpDeliveryMethod.Network, 
      UseDefaultCredentials = false, 
      Credentials = new NetworkCredential(fromAddress.Address, fromPassword), 
      Timeout = 20000 
     }; 
     using (var message = new MailMessage(fromAddress, toAddress) 
     { 
      Subject = subject, 
      Body = body 
     }) 
     { 
      smtp.Send(message); 
     } 
    } 
} 

私の古いコード私は電子メールで送信したいとき、あなたが望むなら、あなたはGmailアカウントを使用することができ、その中に何が... System.Net.Mailを使用して、このコード:) を使用するように設定されました。 using System.Net;

+0

ありがとうございます。これは動作します – onfire4JesusCollins

0

からあなたの助けに感謝しますSmtpClientCredentialプロパティをNetworkCredentialクラスのインスタンスに設定して、SMTPサーバーのユーザー名とパスワードを追加する必要があります。

+0

godaddyは、ユーザー名とパスワードを要求しないと言いました。 – onfire4JesusCollins

+0

これは設定ファイルで設定することができます。 –

+0

@onfire:それは非常にありそうもないことがわかります。 – SLaks

関連する問題