皆さん、こんにちは。asp.net mvc3 に基づいたプロジェクトを作成しました。プロジェクトの一部は、アプリケーションからメールを送信することに基づいています。
public void SendEmail(string address, string subject, string message, int id)
{
string email = "emailname@gmail.com";
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 ホスティングを使用しています。たぶん他の人も同じ問題を抱えていますか?