2012-01-30 23 views
6

tôi không thể gửi email qua ASP.NET và gửi một email đến máy chủ web của tôi đối với một số sự giúp đỡ và được cho biết để sửa đổi thiết lập bảo mật của tôi và đã gửi một liên kết:Thiết Tín Cấp trong web.config

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

tôi đã đọc những gì nó nói ở đó và cố gắng thiết lập <trust level="Full" originUrl="" /> trong web.config, nhưng sau đó tôi nhận được lỗi:

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.

tôi đã không đặt bất kỳ tập tin web.config khác.

Vì vậy, tôi hỏi các máy chủ web một lần nữa, và hỏi nếu đó là một môi trường máy chủ mà tôi không thể thay đổi, nhưng câu trả lời tôi nhận được chỉ là:

You'll need to specify a more specific path.

Đó là đáng yêu, nhưng tôi đã không có ý tưởng đó có nghĩa là gì!

Sau khi thực hiện thêm một chút, tôi tự hỏi liệu tôi có phải thiết lập một tệp riêng biệt trust không, điều này có đúng không?

Ai đó có thể chỉ cho tôi theo hướng chính xác để thiết lập mức độ tin cậy của tôi (tôi nhận thấy "đầy đủ" có thể không chính xác?) Vì tôi thực sự không hiểu tôi phải làm gì!

Trả lời

7

Mức độ tin cậy được ghi lại ở đây: http://msdn.microsoft.com/en-us/library/ie/wyts434y.aspx. Trong chia sẻ lưu trữ, các nhà cung cấp khóa cài đặt đó, vì vậy bạn không thể thay đổi trong web.config của mình. Nếu bạn yêu cầu rõ ràng từ nhà cung cấp của bạn để cho phép hoàn toàn tin tưởng vào đơn đăng ký của bạn và nếu họ trả lời bằng "huh?", Thì bạn đang nói chuyện với một người không giáo dục - yêu cầu leo ​​thang hoặc thay đổi máy chủ. "Hãy định cấu hình ứng dụng của tôi với sự tin tưởng hoàn toàn" phải đủ rõ ràng. Lưu ý rằng họ có thể không sẵn lòng làm điều đó, khi họ hiểu yêu cầu của bạn.

Ngoài ra, tôi không thể chắc chắn rằng tin cậy đầy đủ là cần thiết để gửi thư. Gửi thư ra liên quan đến khả năng giao tiếp với máy chủ SMTP và thường máy chủ web chỉ cho phép truy cập vào máy chủ của họ và chặn mọi thứ khác (để ngăn chặn spam). Bạn sẽ không thể nói họ làm ngoại lệ cho bạn, nhưng nếu bạn hỏi "hãy cho tôi biết smtp và cổng nào để sử dụng để gửi email từ ứng dụng asp.net của tôi", họ nên đưa nó cho bạn (nếu không, leo thang hoặc thay đổi máy chủ). Bạn thực sự nên yêu cầu họ giúp bạn gửi thư ra trước, trước khi bạn đưa ra kết luận rằng mức độ tin cậy là những gì cản trở nó (bây giờ, tôi khá chắc chắn nó không).

Ngoài ra, đọc cái này, xin vui lòng: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem

+0

Cảm ơn. Vì vậy, những gì bạn đang nói là câu trả lời của họ thậm chí còn vô ích hơn tôi nhận ra! Đề cập đến quan điểm của bạn rằng tôi nên hỏi họ cách gửi thư thông qua máy chủ của họ trước ... Thực ra, tôi đã làm! Tôi gửi qua email cho họ một số mã mẫu và được cho biết rằng nên sử dụng. Sau đó, tôi gặp phải vấn đề khiến tôi đăng bài ở đây. Tôi sẽ gửi email cho họ một lần nữa yêu cầu một phản ứng hoàn chỉnh hơn. –

+0

Tôi khá chắc chắn rằng tôi đã có một ứng dụng trong chia sẻ lưu trữ với một phần tin cậy gửi thư. Máy chủ sẽ không cung cấp cho bạn sự tin tưởng đầy đủ, bởi vì điều đó đặt ra một nguy cơ cho máy chủ của họ và các ứng dụng khác chạy trên nó; họ sẽ sử dụng cơ hội đó để quảng cáo cho các máy chủ chuyên dụng của họ, thông thường. Sử dụng các lớp của .NET để gửi email (hoặc ít nhất là kiểm tra nó hoạt động) trước khi bạn bắt đầu sử dụng một số thư viện của bên thứ 3 (bạn có thể tìm mã mẫu ở đó; chỉ mất vài dòng + vài thay đổi web.config).Sau đó, nếu gửi thư không thành công, hãy dán thông tin ngoại lệ vào đây; và chúng tôi sẽ tìm ra thứ gì đó. –

+1

Có, hầu hết các dịch vụ chia sẻ lưu trữ không hỗ trợ Full Trust, vì vậy bạn cần phải kiểm tra nó với nhà cung cấp hiện tại của bạn. Nhưng, nếu bạn thực sự cần sự tin tưởng đầy đủ lưu trữ, tôi có thể cho một tên, HostForLife.eu. Bạn có thể tìm thấy trang web của họ trên trang web của Microsoft. :) –

-1

Hãy thử điều này:

public static void ConfirmMail(string emailTo) 

{ 
    try 
    { 

     MailMessage message = new MailMessage(); 
     message.Subject = "Account Registration From 91calls"; 
     message.From = new MailAddress(Convert.ToString("[email protected]"),"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 
    { 
    } 

} 
Các vấn đề liên quan