相关疑难解决方法(0)

验证电子邮件地址

我正在尝试使用以下代码使用c#发送电子邮件.

MailMessage mail = new MailMessage();
mail.From = new MailAddress(fromAddress, friendlyName);
mail.To.Add(toAddress);
mail.CC.Add(ccAddress);

//set the content
mail.Subject = emailSubject;
mail.Body = emailHeader + "\n" + emailBody;

//send the message
SmtpClient smtp = new SmtpClient(ServerAddress);
smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
mail.IsBodyHtml = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)

现在我的函数收到的"toAddress"字符串可能包含一个地址,或者它可能包含许多逗号分隔的地址.

现在的问题是,在多个逗号分隔的地址的情况下,其中一个或两个可能是错误的电子邮件地址格式.

因此,当我尝试使用此代码发送电子邮件时,我得到例外:

"指定的字符串不是电子邮件地址所需的格式."

有没有办法验证逗号分隔的电子邮件地址?我曾在某处读到,验证电子邮件地址的唯一方法是向其发送电子邮件,因为验证电子邮件地址的正则表达式可能会非常庞大​​.

此外,我无法控制设计,或者地址字符串如何影响我的功能,我无法在UI中添加电子邮件验证,所以我很无奈......

我的问题是电子邮件不会被传递到逗号分隔字符串中的所有地址,即使只有一些地址的格式错误.

有没有办法在.NET中正确验证电子邮件地址?有没有办法清理坏的电子邮件地址并将邮件发送给好的邮件地址?

.net c# email

28
推荐指数
6
解决办法
8万
查看次数

标签 统计

.net ×1

c# ×1

email ×1