【发布时间】:2018-11-19 16:30:18
【问题描述】:
我正在尝试在 c# asp.net 应用程序中构建一些基本的电子邮件功能。我的技能有限,我正在学习。
我正在尝试向应用程序发送电子邮件地址列表。创建列表时出现以下错误:
无法从“字符串”转换为“SendGrid.Helpers.Mail.EmailAddress”
我可以看到列表阅读器将电子邮件地址列为字符串,我需要将其转换为 [SendGrid.Helpers.Mail.EmailAddress] 但我不知道如何执行此操作。
protected async void sendButton_Click(object sender, EventArgs e)
{
// Prepare the email message info model
var apiKey = System.Web.Configuration.WebConfigurationManager.AppSettings["SendGrid_API_Key"];
var client = new SendGridClient(apiKey);
var com = new SqlConnection("Myconn");
com.Open();
string qry = "SELECT EmailAddress FROM MyTable";
var con = new SqlCommand(qry, com);
//var recipients = new List<EmailAddress>{
//new EmailAddress("Recipient1@test.co.uk", "User 1"),
//new EmailAddress("Recipient2@test.co.uk", "User 2") };
List<EmailAddress> columnData = new List<EmailAddress>();
using (SqlCommand command = new SqlCommand(qry, com))
{
using (SqlDataReader bb = command.ExecuteReader())
{
while (bb.Read())
{
columnData.Add(bb.GetString(0));
}
}
}
var msg = new SendGridMessage();
msg.SetFrom(new EmailAddress("Sender@azure.com", "Me"));
var recipients3 = columnData;
msg.AddTos(recipients3);
msg.SetSubject("Without ttttt");
msg.AddContent(MimeType.Text, "Dear Sir or Madam,!");
msg.AddContent(MimeType.Html, "<p>Dear Sir or Madam,!</p>");
var response = await client.SendEmailAsync(msg);
}
}
【问题讨论】:
-
看起来语法是 :myMessage.From = new EmailAddress("you@youremail.com", "First Last");
-
columnData.Add(new EmailAddress(bb.GetString(0)));