电子邮件发送功能在托管应用程序中无效。 但它正在本地机器上工作。 代码是
[WebMethod]
public static string SendMail(string To,string Subj,string Body)
{
MailMessage emailmsg = new MailMessage();
emailmsg.From = new MailAddress("salam@rainhopes.com");
emailmsg.To.Add(To);
emailmsg.Subject = Subj;
emailmsg.Body = Body;
emailmsg.IsBodyHtml = true;
//SMTP SERVER DETAILS
SmtpClient smtpc = new SmtpClient("smtp.gmail.com");
smtpc.Port = 587;
smtpc.UseDefaultCredentials = false;
smtpc.EnableSsl = true;
smtpc.Credentials = new NetworkCredential("salam@rainhopes.com", "******");
smtpc.Send(emailmsg);
return " your email send sucessfuly!.. check your email";
}
请给我任何解决方案
异常细节是
"Message":"Request for the permission of type \u0027System.Net.Mail.SmtpPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\u0027 failed.","StackTrace":" at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark\u0026 stackMark, Boolean isPermSet)\r\n at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark\u0026 stackMark)\r\n at System.Security.CodeAccessPermission.Demand()\r\n at System.Net.Mail.SmtpClient.set_Port(Int32 value)\r\n at Flair.sendmail.SendMail(String To, String Subj, String Body)","ExceptionType":"System.Security.SecurityException"
答案 0 :(得分:0)
在<system.web>
下的web.config中添加<customerrors mode="Off">
以查看完整异常
<system.web>
<customErrors mode="Off"/>
<compilation debug="true"/>
<authentication mode="None"/>
</system.web>
</configuration>
答案 1 :(得分:0)
检查您的SMTP配置,gmail是:
<system.net>
<mailSettings>
<smtp>
<network host="smtp.gmail.com" port="587" userName="eran@thereturnvalue.com" password="111111" defaultCredentials="false" />
</smtp>
</mailSettings>
</system.net>