rp786 Ответов: 3

Как отправить электронное письмо нескольким получателям


Привет,

Я строю веб-сервис. Мне нужно логически отправлять электронную почту через код.
Например: пользователь отправит запрос на веб-сервер. Он выберет несколько получателей, установив флажки. Веб-сервер получит имя получателя и список идентификаторов электронной почты. Поэтому, пожалуйста, помогите мне, чтобы с помощью кода я мог отправить письмо нескольким получателям.

Заранее спасибо.

3 Ответов

Рейтинг:
2

JohnBrittoJ

Вы можете иметь все идентификаторы электронной почты, разделенные запятыми в адресе to. И тогда отправить Вы сможете отправить сразу нескольким получателям.


Рейтинг:
17

Prasad_Kulkarni

Попробовать это:

Пространство имен:

using System.Collections; //ArrayList
using System.Data.SqlClient; //SQL
using System.Net.Mail; //email

Код:
private void btnSend_Email_Click(object sender, EventArgs e)
        {
            ArrayList list_emails = new ArrayList();
            int i = 0, email = 0;
            sqlConnection1.Open(); //connection to the database.
            SqlCommand cmd_Email = new SqlCommand("Select Email from Email_Table", sqlConnection1);
            SqlDataReader read_Email = cmd_Email.ExecuteReader();
            while (read_Email.Read())
            {
                email = read_Email.GetValue(i).ToString();
                list_emails.Add(email); //Add email to a arraylist
                i = i + 1 - 1; //increment or ++i
            }
            read_Email.Close();
            sqlConnection1.Close(); //Close connection
 
            foreach (string email_to in list_emails)
            {
                MailMessage mail = new MailMessage();
                mail.To.Add(email_to);
                mail.Subject = "Welcome to C#";
                mail.From = new MailAddress(hold_Account);
                mail.Body = "Test";
                SmtpClient smtp = new SmtpClient("SMTP Server");
                smtp.Send(mail);
            }

Ссылка.: отправка электронной почты на несколько адресов электронной почты [^]


Manas Bhardwaj

правильно +5!

Prasad_Kulkarni

Спасибо тебе, Манас!

Stelig

Я пытаюсь реализовать такое решение: используйте флажок "все клиенты", и если я его проверю, то отправлю электронную почту на все адреса клиентов.

Я попробовал код так же, как prasad_kulkarni опубликовал (изменил инструкцию sql), и я получаю следующие ошибки:

1. email = read_Email. GetValue (i).Метод toString();
-> Не может неявно преобразовать тип 'string' в 'int'

2. почте.From = новый почтовый адрес(hold_Account);
-> имя 'hold_Account' не существует в текущем контексте

Кто-нибудь может помочь с этим, пожалуйста?

Member 11970059

Получил ли ты решение своей 1-й проблемы?.. У меня та же проблема.

Member 11970059

read_Email.И getValue(я).Метод toString();
Эта приведенная выше строка показывает ошибку, которая не может неявно преобразовать тип string в int.

Пожалуйста, помогите как можно скорее...

Рейтинг:
1

OriginalGriff

Здесь есть общая процедура отправки электронной почты: Отправка электронной почты в C# с вложениями или без них: общая процедура.[^]
Все, что вам нужно сделать, это добавить больше адресов "кому" или вместо этого использовать список CC / BCC.


Manas Bhardwaj

Хорошо, что вы добавили его в качестве чаевых. Удивительно, что люди перестали пользоваться Google и вместо этого задают вопросы в CP. :)
Мои 5!

rp786

Google дает все решения, но Code project дает лучшее решение из всех решений. Поэтому люди задают вопрос на КП...