2014-07-01 207 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

相關問題