2013-09-03 21 views
7

皆にとって良い日です。私はasp.net mvc3に基づいてプロジェクトを書いた。プロジェクトの一部は、自分のアプリケーションから電子メールを送信することに基づいています。SMTPサーバーはホストからの電子メールを送信できません。asp.net

public void SendEmail(string address, string subject, string message, int id) 
{ 
     string email = "[email protected]"; 
     string password = "somepassword"; 

     var loginInfo = new NetworkCredential(email, password); 
     var msg = new MailMessage(); 
     var smtpClient = new SmtpClient("smtp.gmail.com", 587); 

     msg.From = new MailAddress(email); 
     msg.To.Add(new MailAddress(address)); 
     msg.Subject = subject; 
     msg.Body = message; 
     msg.IsBodyHtml = true; 
     msg.Attachments.Add(new Attachment(Server.MapPath("~/Content/StudentPdf/student" + id + ".pdf"))); 

     smtpClient.EnableSsl = true; 
     smtpClient.UseDefaultCredentials = false; 
     smtpClient.Credentials = loginInfo; 
     smtpClient.Send(msg); 

} 

このコードはローカルで動作し、完全に電子メールを送信します。しかし、これをホストにアップロードすると、エラーが発生します。

SMTPサーバーはセキュリティで保護された接続を要求しているか、クライアントが 認証されていません。サーバーの応答は、5.5.1認証が必要でした。

私はポートを465に変更しようとしましたが、ホスティングでtcp_ipエラーが発生します。さらにもう1つ:ユーザーがこのメールボックスから電子メールを送信しようとすると、そのアプリケーションの疑わしい活動がGoogleに伝えられます。ある国で私がホスティングし、私は別の国にいるからです。

私は次に何をしなければならないのか分かりません。私はグーグルで試してみて、2レベルの登録について何かを見つけましたが、私の方法でそれを実装する必要があるか分かりません。

私はarvixeホスティングを使用しています。他の人たちも同じ問題を抱えているのでしょうか?

+1

1日のメールの制限を超えましたか? GoogleのSMTPは、毎日数百の電子メールを送信できるだけです。それを超えると、あなたが記述した正確なエラーメッセージが表示されます。 –

+1

いいえ、メールを1通も送信できない場合、どのように1日の制限を超えることができますか?そして局所的にすべてが完璧に動作します – BorHunter

+0

そして、私は今日このアカウントからローカルに20を超えて送信しません – BorHunter

答えて

1

gmailアカウントに手動でログインして、gmail settings.Thatsの下であなたのホストのIPを許可してください、なぜあなたのローカルで完全に動作していると思いますか? 同じことが私に起こり、これを実行した後も問題はありませんでした。

+0

私はどこで私がipを許可できるか教えてください? – BorHunter

+0

gmailはログイン後に不正なアクセスが行われたことを示す赤いバーを表示しました。このバーをクリックすると、このアクティビティ(IPを含む)を特定したかどうかを確認するページに移動しました。私はそれを確認した後、それは正常に動作し始めた。 – user1512186

+0

はい、私も同じですが、エラーはまだあります – BorHunter

関連する問題