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

本文关键字:地址 电子邮件 数据库 | 更新日期: 2023-09-27 18:10:58

我想用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从用户表中获取所有邮件,这就是我将其转换为字符串的原因。我该怎么办?我是说我的错在哪里,我找不到。

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

我假设Item包含您的电子邮件Id,那么您可以使用下面提到的代码如果你想收集邮件那么你的查询应该是

 var _userMail = dc.Users.Select(p=>p.Email);

只是替换

mail.To.Add(_userMail);

mail.To.Add(item);

如果Item是Object of User,那么你必须尝试下面提到的代码

 mail.To.Add(item.emailId);