2012-03-29 20 views
0

可能性の重複:
Sending email in .NET through Gmailは、Gmailでメールを送信.NET

私は、私が作成したGmailのアカウントを通じてAsp.Net(MVC3)でメールを送信しようとしています。私はどのようにしてインターネットをクロールしましたが、何も試したことはありませんでした。

私はイムはそれを使用している場合、この

public static bool SendEmail(string to,string subject,string body) 
    { 
     try 
     { 
      MailMessage mail = new MailMessage(); 
      mail.From = new MailAddress("[email protected]"); 
      mail.To.Add(to); 
      mail.Subject = subject; 
      mail.Body = body; 
      mail.IsBodyHtml = false; 

      SmtpClient smtp = new SmtpClient(); 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Host = "smtp.gmail.com"; 
      smtp.Port = 587; 
      smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword"); 
      smtp.EnableSsl = true; 
      smtp.Send(mail); 
      return true; 
     } 
     catch 
     { 
      return false; 
     } 
    } 

このメソッドはfalseを返すように見える方法があります。どうすればこの問題を解決できますか?このライン

smtp.UseDefaultCredentials = false; 
+3

いただきましエラー? –

+3

catchをcatch(Exception e)に置き換えてブレークポイントを設定し、エラーを確認してください – Shyju

+0

アウトバウンドポート587はYOUR(および/またはwebappの)ファイアウォールで開いていますか? –

答えて

2

を追加

0

てみてください、私は、次の作品を検証:

static void Main(string[] args) 
{ 
    //create the mail message 
    MailMessage mail = new MailMessage(); 

    var client = new SmtpClient("smtp.gmail.com", 587) 
    { 
     Credentials = new NetworkCredential("[email protected]", "yourpassword"), 
     EnableSsl = true 
    }; 

    //set the addresses 
    mail.From = new MailAddress("[email protected]"); 
    mail.To.Add("[email protected]"); 

    //set the content 
    mail.Subject = "Test subject!"; 
    mail.Body = "<html><body>your content</body></html>"; 
    mail.IsBodyHtml = true; 
    client.Send(mail); 
} 
関連する問題