7

皆さん、こんにちは。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 ホスティングを使用しています。たぶん他の人も同じ問題を抱えていますか?

4

1 に答える 1

1

gmail アカウントに手動でログインし、gmail 設定でホステ​​ィングの IP を許可してください。そのため、ローカルで完全に機能していると思います。同じことが私にも起こりました。これを行った後、問題はありませんでした。

于 2013-09-03T14:27:40.000 に答える