简体   繁体   English

格式化字符串作为电子邮件地址

[英]Formatting string as email address

This SELECT returns the email address from the project owner: 此SELECT返回项目所有者的电子邮件地址:

var selectEmailData = "SELECT User.Email FROM Projects INNER JOIN User ON Projects.ProjectOwner = User.UserId WHERE ProjectId=@0";
var dataEmail = db.Query(selectEmailData, ProjectId);

@foreach (var row in dataEmail)
{
    @row.Email
}

But when I tried this: 但是当我尝试这个时:

var mailTo = dataEmail.ToString();

To send an email: 要发送电子邮件:

WebMail.Send(
    to: mailTo,
    subject: "Hello there!",
    body: "Your project is ready."
);

I got this: The specified string is not in the form required for an e-mail address. 我明白了: 指定的字符串不是电子邮件地址所需的格式。

Whats wrong with this code? 这段代码有什么问题?

I am pretty sure… 我很确定…

var dataEMail = db.Query(…) would return a collection not a string.

SO... 所以...

var mailTo = dataEmail.ToString();

would return something Like "System.Collections.Generic......" 会返回类似“System.Collections.Generic ......”的内容

I am guessing you may want something like this 我猜你可能想要这样的东西

var selectEmailData = "SELECT User.Email FROM Projects INNER JOIN User  ON Projects.ProjectOwner = User.UserId WHERE ProjectId=@0";
var allEmails = db.Query(selectEmailData, ProjectId);

@foreach (var row in allEmails)
{
  WebMail.Send(
  to: @row.Email,
  subject: "Hello there!",
  body: "Your project is ready."
)

Validation? 验证?

Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"); 
Match match = regex.Match(email); 
if (match.Success)
{
//Send email
}
else
{
//Bad email
}

Other way: 另一种方式:

try
{
MailAdress email = new MailAddress(<enter here string>);
}
catch (FormatException fe)
{
//Bad email
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 隐藏字符串中的电子邮件地址 - Hiding an email address in string 用字符串编码和解码电子邮件地址 - Encode and decode Email address with string 将“全名”字符串解析为电子邮件地址 - Parsing a 'Full Name' string to an email address MailKit:解析 email 字符串时出现 ParseException,显示名称中包含电子邮件地址 - MailKit: ParseException when parsing an email string with email-address in displayname 如何从长字符串中识别电子邮件地址并将电子邮件地址替换为我公司的电子邮件地址? - How do I identify an email address from a long string and replace the email address with my company's email address? 电子邮件到CSV C#-字符串格式不正确 - Email to CSV C# - String isn't formatting correctly 使用正则表达式从字符串中提取电子邮件地址 - Extract email address(s) from string using regular expression 如何编写数据注释以检查是否在字符串中找到了电子邮件地址并失败了 - How to write a data annotation to check if email address found in string and fail on it 将 C# 中的 email 地址字符串解析为 MailAddress object - Parse an email address string in C# to MailAddress object 通过C#中的查询字符串传递电子邮件地址 - Passing email address via query string in C#
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM