我想用C#发送电子邮件并使用MySQL数据库中的邮件地址。顺便说一下,我完全是初学者。这就是我到目前为止所做的:
我创建了一种发送电子邮件的方法:
public static void sendEmail()
{
DataClassesDataContext dc = DataContext;
var _userMail = (from u in dc.Users
select u.Email).ToString();
foreach (var item in _userMail)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("mymail@gmail.com");
mail.To.Add(_userMail);
mail.Subject = "Test Mail";
mail.Body = "This is for testing SMTP mail from GMAIL";
SmtpServer.Port = 587;
SmtpServer.Credentials = new System.Net.NetworkCredential("myusername", "mypassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
}
我用我的一种形式称这种方法:
try
{
AppMethod.sendEmail();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
我想使用_userMail
从User表中获取所有邮件,这就是我将其转换为字符串的原因。我该怎么办 ?我的意思是我的错误,我无法找到。
答案 0 :(得分:2)
我认为该项目包含您的电子邮件ID,然后您可以使用以下管理的代码 如果你想收集邮件,那么你的查询应该是
var _userMail = dc.Users.Select(p=>p.Email);
只需替换
mail.To.Add(_userMail);
到
mail.To.Add(item);
如果Item是User of User,那么你必须尝试下面提到的代码
mail.To.Add(item.emailId);