使用 jquery ajax、webservice 和 c# 发送电子邮件
Posted
技术标签:
【中文标题】使用 jquery ajax、webservice 和 c# 发送电子邮件【英文标题】:Sending Email using jquery ajax,webservice and c# 【发布时间】:2017-12-25 06:02:56 【问题描述】:我不知道我做错了什么。我的代码不断给我这个错误。
jquery.js:10254 POST http://localhost:7855/Services/svUsers.asmx/EmailNotification500(内部服务器错误)
这是我所有的代码
[WebMethod]
public bool EmailNotification(string from,string to,string username)
MailMessage tmail = new MailMessage();
tmail.From = new MailAddress(from);
tmail.To.Add(new MailAddress(to));
StringBuilder builder = new StringBuilder();
builder.Append(string.Format("Dear 0 <br/><br/>",username));
builder.Append("How are you john iliya i am testing Sending Email Messages with Webservice...i have faith it would work...");
builder.Append(("<br/><br/>"));
builder.Append("<b>Powered By JINGBREEDS.com");
tmail.Subject = "Testing Of Mail Messages";
tmail.Body = builder.ToString();
tmail.IsBodyhtml = true;
tmail.Priority = MailPriority.Normal;
var smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Credentials = new System.Net.NetworkCredential("yourun@gmail.com","yourpswd");
smtp.Send(tmail);
return true;
<input type="text" placeholder="Email Address" name="txtEMF" class="form-control" />
<input type="text" placeholder="Email Address" name="txtEMT" class="form-control" />
<input type="button" class="btn-info btn form-control" name="btnSend" value="Send" />
<script type="text/javascript">
$(document).ready(function ()
$("input[name$='btnSend']").click(function ()
var un = "airmarshalg";
$.ajax(
url: "../Services/svUsers.asmx/EmailNotification",
method: "POST",
data: from: $("input[name$='txtEMF']").val(), to: $("input[name$='txtEMT']").val(), username: un ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response)
if(response.data == true)
alert("Hurray message sent...");
,
error: function (err)
console.log(err);
);
);
);
</script>
【问题讨论】:
要扩展 Will 的评论,您需要弄清楚服务器返回 HTTP 500 的根本原因是什么。这可能意味着添加日志记录,或者在附加了调试器的情况下单步执行代码。跨度> 您是否调试了代码以找出问题所在? 我是编程的新手先生...我不知道如何在附加调试器的情况下进入代码 首先在 EmailNotification 方法的第一行放置一个断点,看看它是否被命中。然后使用 F10 单步执行该方法以查看它的位置。 当我单独运行 web 服务时,它可以工作并将邮件发送到我的邮件地址,但是当我尝试使用 ajax 调用运行它时,它会引发错误 【参考方案1】:我能够通过在我的 web 服务的最顶部取消注释这行代码来解决这个问题。这是我的一个可怕的错误 [System.Web.Script.Services.ScriptService]
谢谢大家,代码就像使用 angular 的魅力 hahahah 一样
【讨论】:
以上是关于使用 jquery ajax、webservice 和 c# 发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery/Ajax 从 JavaScript 调用 WCF/JSON/REST WebService
jquery中通过ajax调用webservice传递数组参数的问题
在 asp.net webservices 中使用 jQuery AJAX 总是出错:而不是成功:
Jquery Ajax 复杂json对象提交到WebService
如何在 c# ASP.Net 中使用有效的 JSON 输出创建 JSON WebService 并使用 JQuery/Ajax 进行查询