【发布时间】:2020-05-23 11:49:07
【问题描述】:
我的 Blazor 项目中有一个 razor 组件,当用户单击按钮时,它将触发电子邮件
OnClick 函数 Email 将通过以下代码发送电子邮件
async Task Email(string originalpiv, string docno, string cuscode, string cusname, string docdate)
{
CModule.SendMail("example@gmail.com", "example@gmail.com", "", "HI", "HI BRO");
}
CModule.SendMail 是传递电子邮件 from,to,subj,body 的方法,代码如下
public static bool SendMail(string from, string to, string cc, string subject, string body)
{
bool rst = false;
MailMessage Msg = new MailMessage();
try
{
SmtpClient smtp = new SmtpClient("mail.gmail.com", 587);
string[] toeml = to.Split(new Char[] { ';', ',' });
foreach (string tmp in toeml)
{
if (tmp.Trim() != "") Msg.To.Add(tmp.Trim());
}
string[] cceml = cc.Split(new Char[] { ';', ',' });
foreach (string tmp in cceml)
{
if (tmp.Trim() != "") Msg.CC.Add(tmp.Trim());
}
Msg.From = new MailAddress(from.Trim());
Msg.Subject = subject;
Msg.Body = body;
Msg.BodyEncoding = System.Text.Encoding.GetEncoding("GB2312");
smtp.Credentials = new System.Net.NetworkCredential("nick.chau@gmail.com", "880215");
smtp.Send(Msg);
rst = true;
}
catch (Exception ex)
{
}
finally
{
Msg.Dispose();
}
return rst;
}
这些是我尝试过的代码,但电子邮件没有发送出去,不知道为什么,有什么想法吗?
【问题讨论】:
-
客户端还是服务器端 blazor? Defone 不知道为什么 - 我的意思是,吞下一个异常然后抱怨你没有信息就像不聪明,你知道的。你有例外吗?哪一个?把它泡起来。为什么你在 finally 中处理 msg 而不是 using.... using?