6

ASP.NET経由で電子メールを送信できず、ヘルプを求めてWebホストに電子メールを送信し、セキュリティ設定を変更するように指示され、リンクが送信されました。

http://forums.asp.net/t/1111145.aspx/1

そこに書かれていることを読み <trust level="Full" originUrl="" />、web.configで設定しようとしましたが、エラーが発生します。

This configuration section cannot be used at this path. This happens when the site administrator has locked access to this section using <location allowOverride="false"> from an inherited configuration file.

他のweb.configファイルは設定していません。

そこで、もう一度Webホストに問い合わせて、変更できないサーバー設定かどうかを尋ねましたが、得られた応答は次のとおりです。

You'll need to specify a more specific path.

これは素敵ですが、それが何を意味するのかわかりません!

もう少し掘り下げて、別のtrustファイルを設定する必要があるかどうか疑問に思っていますが、これは正しいですか?

私が何をすべきか本当に理解していないので、誰かが私の信頼レベルを設定する正しい方法の方向に私を向けることができますか(「フル」もおそらく間違っていることに気づきますか?)!

4

2 に答える 2

8

信頼レベルはここに文書化されています:http://msdn.microsoft.com/en-us/library/ie/wyts434y.aspx。共有ホスティングでは、プロバイダーがその設定をロックするため、web.configを変更することはできません。プロバイダーからアプリケーションへの完全な信頼を許可するように明確に要求し、プロバイダーが「え?」と応答した場合は、教育を受けていない人と話していました。エスカレーションを要求するか、ホストを変更してください。「完全な信頼でアプリケーションを構成してください」は十分に明確である必要があります。彼らがあなたの要求を理解すると、彼らはそれを喜んでしないかもしれないことに注意してください。

また、メールの送信には完全な信頼が必要かどうかはわかりません。メールの送信にはSMTPサーバーとの通信機能が含まれ、通常、Webホストは自分のサーバーにのみアクセスを許可し、他のすべてをブロックします(スパム防止のため)。あなたは彼らにあなたのために例外を作るように話すことはできませんが、「私のasp.netアプリケーションから電子メールを送信するために使用するSMTPとポートを教えてください」と尋ねる場合、彼らはあなたにそれを与えるべきです(そうでなければ、ホストをエスカレーションまたは変更します)。信頼レベルがそれを妨げていると結論付ける前に、実際に最初にメールを送信するのを手伝ってくれるように彼らに頼むべきでした(今、私はそれがそうではないと確信しています)。

また、これを読んでください:https ://meta.stackexchange.com/questions/66377/what-is-the-xy-problem

于 2012-01-30T19:51:26.567 に答える
-3

これを試して:

 public static void ConfirmMail(string emailTo)

{
    try
    {

        MailMessage message = new MailMessage();
        message.Subject = "Account Registration From 91calls";
        message.From = new MailAddress(Convert.ToString("admin@91calls.com"),"Admin");
        message.To.Add(emailTo);
        message.BodyEncoding = System.Text.Encoding.UTF8;
        StringBuilder sb = new StringBuilder();
        sb.Append("<html>");
        sb.Append("<Body>");
        sb.Append("<table cellpadding='0' cellspacing='0' width='100%' border='0'>");
        sb.Append("<tr><td align='center'><table cellpadding='0' cellspacing='0' width='100%' border='0'>");
       // sb.Append("<tr><td align='left'><asp:Image ID='imgLogo' runat='server' ImageUrl='http://supervau.w01.winhost.com/images/logo.png' />");
        sb.Append("</td></tr><tr><td>Hi, <br></td></tr><tr><td align='left'>You are successfylly resgistered with 91 calls.<br>");
        sb.Append("<br>Thank you for using, : http://www.91calls.com<br /><br>For questions or concerns regarding your account, please visit : http://www.91calls.com");
        sb.Append("</td></tr></table></td></tr></table>");
        sb.Append("</Body>");
        sb.Append("</html>");
        message.Body = sb.ToString();
        message.IsBodyHtml = true;
        SmtpClient client = new SmtpClient();
        client.Send(message);


    }
    catch
    {
    }

}
于 2013-03-21T06:15:22.557 に答える