使用数据库中的电子邮件地址在C#中发送电子邮件

时间:2014-07-01 05:47:56

标签: c# sql linq email

我想用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表中获取所有邮件,这就是我将其转换为字符串的原因。我该怎么办 ?我的意思是我的错误,我无法找到。

1 个答案:

答案 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);