2014-12-05 2 views
0

Как я могу отправить несколько адресов электронной почты с именами на C#? В настоящее время мне нужно загрузить имена и адреса электронной почты из базы данных и отправить их.Как отправить несколько адресов электронной почты с именами в C#

  1. Так что я должен создать массив строк для хранения имен и адресов электронной почты в первую очередь?

  2. Тогда Как я могу отправить электронное письмо? Необходимо использовать MailMessages() или MailAddress для нескольких почтовых адресов?

Мой код

while (sdrReader.Read()) 
{  
    ReceiverName = sdrReader["Name"].ToString(); 
    ReceiverEmail = sdrReader["EmailAddress"].ToString();   
} 

// Почта Добавить, здесь я хочу, чтобы получить несколько имен электронной почты и адрес, а затем отправить их.

mail.To.Add(new MailAddress(ReceiverEmail, ReceiverName)); 



sSQL = @"SELECT * FROM EmailSystem"; 

      try 
      { 
       scConnection.Open(); 
       scCommand = new SqlCommand(sSQL, scConnection); 
       sdrReader = scCommand.ExecuteReader(); 

       while (sdrReader.Read()) 
       { 

         ReceiverName = sdrReader["Name"].ToString(); 
         ReceiverEmail = sdrReader["EmailAddress"].ToString(); 

       } 
      } 



try 
      { 
       // Instance of Mail Server 
       MailMessage mail = new MailMessage(); 

       // Instance of SMTP Server 
       SmtpClient server = new SmtpClient(smtpAddress); 


       mail.To.Add(new MailAddress(ReceiverEmail, ReceiverName));    
      } 
+1

Перемещение вашей почты.Добавить внутри цикла while, и вы должны быть в порядке. – Pleun

+0

Можете ли вы привести мне примеры? Только сейчас я попытался загрузить его, но нет данных внутри цикла while. –

+0

В этом случае это проблема sdrReader. Недостаточно кода для диагностики вашей проблемы с тем, что вы отправили сейчас. – Pleun

ответ

1

Это эскиз можно использовать для того, чтобы достичь своей цели. Я не трогаю соединение с базой данных, и надеюсь, вы проверили, что вы можете читать данные из базы данных. Если у вас есть больше вопросов, не стесняйтесь спрашивать.

// define the body of your mail 
var message = new MailMessage 
{ 
    From = new MailAddress("[email protected]", "John Doe"), 
    Subject = "Please don't spam me", 
    Body = "I will be very angry if you send me spam." 
}; 

// if you don't use gmail, then you have to specify your own settings!!! 
var client = new SmtpClient("smtp.gmail.com", 587) 
{ 
    EnableSsl = true, 
    Credentials = new NetworkCredential("[email protected]", "superPassword") 
}; 

// I skipped the creation of connection and command. 
// Don't forget to call Dispose when you finish to work with database. 
while (sdrReader.Read()) 
{ 
    var to = new MailAddress(sdrReader["EmailAddress"].ToString(), 
          sdrReader["Name"].ToString()); 
    message.To.Add(to); 
} 

client.Send(message); 
0

Вы можете автоматизировать Microsoft Outlook для автоматической отправки сообщений электронной почты. См. Using Automation to Send a Microsoft Outlook Message для получения дополнительной информации.

+0

Что я хочу в C# :) –

+0

Вы можете использовать любые [конвертеры кода] (http://converter.telerik.com/), если вы не понимаете VB.NET. –

0

Используйте Dataatet или Datatable вместо устройства чтения данных и перебирайте значения для каждого.

Надеемся, что следующие ссылки предоставят лучшее руководство для отправки массовых писем.

Send bulk email using asp.net and c#

Mass Emailing Functionality with C#, .NET 2.0, and Microsoft® SQL Server 2005 Service Broker

+0

Можете ли вы привести несколько примеров? Я пытался использовать ArrayList, но мой код не может работать. Я все еще отлаживаю это. Итак, что вы предлагаете, 1. Используйте Datatable для загрузки данных 2. Поместите данные из Datatable в ArrayList 3. Затем отправьте данные из ArrayList обратно вправо по электронной почте? –

+0

Здесь я просто пишу псевдокод. 1. Свяжите данные с данными. 2. Получите имя и адрес электронной почты и добавьте его в почтовое сообщение внутри цикла For..Each – Balamurugan

+0

Вместо Pseudo вы можете написать пример на C# для меня? Из-за этого у меня болит голова. –

Смежные вопросы