我想在C#ASP.NET中发送一封电子邮件,问题是我标记了这个错误"返回void,返回关键字后面不能跟一个对象表达式"。在" return"标志着同样的错误,这是什么?
try
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("email@gmail.com", "jhon", Encoding.UTF8);
mail.Subject = "test email";
mail.Body = "test email c#";
mail.To.Add("michael@hotmail.com");
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("email@gmail.com", "password");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
return true;
}
catch (Exception ex)
{
return false;
}
答案 0 :(得分:4)
此错误消息表示您的方法的返回类型为void
,而您的代码意味着您的方法应该为成功发送的电子邮件返回true
,或{{1}表示失败。
将方法的返回类型更改为false
可以解决此问题。但是,更好的方法是保留方法bool
,并抛出一个自定义异常,指示尝试发送电子邮件失败:
void
答案 1 :(得分:1)
我认为你的函数被定义为void,并且你返回一个布尔值,尝试改变bool的返回值,如下所示:
bool myFunction(){
而不是
void myFunction(){