При нажатии на столбец кнопки представления таблицы данных на почту будет отправлено автоматическое письмо. - PullRequest
2 голосов
/ 03 сентября 2011

У меня есть представление таблицы данных с тремя столбцами и одним столбцом кнопки. Моя цель состоит в том, чтобы я хотел отправить автоматическое электронное письмо на указанный почтовый идентификатор, когда я нажму на кнопку в столбце кнопки представления сетки данных.

Можно ли сделать так, чтобы, если я нажму на столбец кнопки, письмо будет отправлено на этот почтовый идентификатор: abc@shx.com?

Соответствующие значения строки будут прикреплены к телу письма. Можно ли сделать эти три шага:

  1. Обработка события щелчка (событие щелчка столбца кнопки) ..
  2. Поиск соответствующих значений строки и прикрепление к телу письма
  3. Отправка электронного письма на указанный почтовый идентификатор (если я нажму на столбец кнопки (только на кнопке))

Кто-нибудь подскажет мне какие-нибудь идеи для всего этого? Я делаю приложение WinForms с использованием C #.

РЕДАКТИРОВАТЬ:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.ColumnIndex != 3) 
        return; 
    object col1 = dataGridView1.Rows[e.RowIndex].Cells[0].Value; 
    object col2 = dataGridView1.Rows[e.RowIndex].Cells[1].Value; 
    object col3 = dataGridView1.Rows[e.RowIndex].Cells[2].Value; 
} 

Но я не знаю, как получить значения строк и отправить электронное письмо.

1 Ответ

3 голосов
/ 03 сентября 2011

В вашем примере вы уже получили значения строк, соответствующие выбранной строке:

object col1 = dataGridView1.Rows[e.RowIndex].Cells[0].Value; 
object col2 = dataGridView1.Rows[e.RowIndex].Cells[1].Value; 
object col3 = dataGridView1.Rows[e.RowIndex].Cells[2].Value;

Что касается отправки электронной почты в .NET, вы можете использовать класс SmtpClient . Вот пример с Gmail:

var client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.Credentials = new NetworkCredential("youraccount@gmail.com", "secret");

var mail = new MailMessage();
mail.From = new MailAddress("youraccount@yahoo.com");
mail.To.Add("destaccount@gmail.com");
mail.Subject = "This is the subject of the mail";
mail.Body = "This is the body of the mail";
client.Send(mail);

Конечно, вы должны адаптировать конфигурацию вашего SMTP-сервера в соответствии с вашими настройками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...