2014-07-01 176 views
0

我想用C#发送电子邮件并使用MySQL数据库中的邮件地址。顺便说一下,我完全是一个初学者。这是我做了什么至今:使用C#中的邮件地址发送电子邮件

我创建了一个方法用于发送电子邮件信箱:

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("[email protected]"); 
     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的所有邮件,这就是为什么我将它转换为字符串。我该怎么办 ?我的意思是我的错误在哪里,我找不到。

+0

那么,会发生什么?你有错误吗?你的代码不能编译?你只是没有结果?你需要指定你的问题实际是什么。 –

回答

2

我假设项目包含您的电子邮件ID,那么您可以使用下面menioned代码 ,如果你想邮件的集合然后将查询应该是

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

只需更换

mail.To.Add(_userMail); 

mail.To.Add(item); 

如果项目是用户的对象,那么你必须尝试下面提到的代码

mail.To.Add(item.emailId); 
+0

其实没有那是我想要做的。我怎样才能存储邮件地址?我想我使用foreach结构不正确。我应该怎么做才能在邮件中包含电子邮件ID?或者如果我不使用foreach结构呢? – Minerva

+0

你只是迭代foreach循环,并从_userMail采取一个再见一个电子邮件ID和发送邮件 –

+0

所以我需要删除项目并添加_userMail内循环而不是循环?因为说实话我不知道这个项目是从哪里来的?我只是看看如何使用foreach,我认为“item”自动表示用户内部的值。 :(我现在觉得很愚蠢 – Minerva

相关问题