Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Автор FAQ
Автор FAQ
199 / 198 / 21
Регистрация: 11.06.2010
Сообщений: 1,024
1

Проблема с отправкой почты

10.08.2011, 23:09. Показов 1131. Ответов 2
Метки нет (Все метки)

Не могу передать почту в общем,в инете масса тем по этому поводу,но не получается все равно
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
string SmtpHost="smtp.mail.ru";//Адрес сервера
            int SmtpPort=25;//Smtp-порт
            string Login="eldar412";
            string Password="Password";
            //Авторизация на SMTP сервере
            SmtpClient Smtp = new SmtpClient(SmtpHost,SmtpPort );
             
                Smtp.Credentials = new NetworkCredential(Login, Password);
            Smtp.EnableSsl = true;
            //Формирование письма
                string msgFrom = Login+"@gmail.ru";
                string msgTo = Login + "@mail.ru";
                //Тема письма
string msgSubject = "Письмо от C#";
//Текст письма
string msgBody = "Привет!\r\n\r\nЭто тестовое письмо\r\n\r\n--\r\nС уважением, C#";
//Создание сообщения
MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody);
            try
            {
                Smtp.Send(message);//отправка
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.InnerException.Message.ToString());
            }
        }
Ошибка:в экземпляре объекта не задана ссылка на объект!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2011, 23:09
Ответы с готовыми решениями:

Проблема с подключением к Excel через OleDb и отправкой запроса
Здравствуйте, пытаюсь через OleDB подключиться к Excel и считать данные от туда. Вот как делаю: ...

CDONTS... Проблемы с отправкой почты.
Опишу вкратце суть проблемы: Скрипт, использующий NewMail (CDONTS) для рассылки почты...

Проблема с отправкой электронного письма с вложением
Всем привет. Ребят, кто может помочь с проблемой. Цель: отправить письмо с вложением. В интернете...

Траблы с отправкой почты с Вложением (Zip архива )
Вообщем хз перепробовал разные варианты отправки почты с вложением, ничего не помогает вылетают...

2
Level 2
400 / 274 / 48
Регистрация: 22.11.2010
Сообщений: 785
Записей в блоге: 1
11.08.2011, 00:19 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void SendMail()
        {
            MailAddress From = null;
            MailAddress To = null;
            try
            {
                From = new MailAddress(textBox1.Text + comboBox1.Text);
                To = new MailAddress(textBox3.Text);
            }
            catch (FormatException)
            {
                MessageBox.Show("Введённые адреса имеют не верный формат.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            MailMessage TheMessage = new MailMessage(From, To);
            TheMessage.Subject = textBox4.Text;
            TheMessage.Body = richTextBox1.Text;
            SmtpClient client = new SmtpClient("smtp.mail.ru", 2525);
            client.Credentials = new NetworkCredential(textBox1.Text, textBox2.Text);
            client.Send(TheMessage);
            TheMessage.Dispose();
        }
Вот как я делал, у меня отправляет.
1
Автор FAQ
Автор FAQ
199 / 198 / 21
Регистрация: 11.06.2010
Сообщений: 1,024
11.08.2011, 15:12  [ТС] 3
Я понял ошибку свою,я там передавал не тип MailAdress,а string,
Создал свой класс
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
public class Email
  {
      private string Login;
      private string Password;
      private string FromMail;
      private string ToMail;
      private string Subject;
      private string TexT;
      private string SmtpHost;
      private int SmtpPort;
      private MailAddress From ;
      private MailAddress To;
      public string FileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+@"\log.txt";
      public Email(string login, string password, string Frommail, string Tomail, string subject, string text, string smtpHost, int smtpport)
      {
          this.Login = login;
          this.Password = password;
          this.FromMail = Frommail;
          this.ToMail = Tomail;
          this.Subject = subject;
          this.TexT = text;
          this.SmtpHost = smtpHost;
          this.SmtpPort = smtpport;
      }
      public static void SendMail(Email e)
      {  e.From = null;
         e.To = null;
            try
            {
               e. From = new MailAddress(e.FromMail);
                e.To = new MailAddress(e.ToMail);
            }
            catch (FormatException)
            {
                MessageBox.Show("Введённые адреса имеют не верный формат.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            MailMessage TheMessage = new MailMessage(e.From, e.To);
            TheMessage.Subject = e.Subject;
            TheMessage.Body = e.TexT;
          try
          {
              Attachment file = new Attachment(e.FileName);
              TheMessage.Attachments.Add(file);
          }
          catch (System.Exception ex)
          {
              MessageBox.Show(ex.InnerException.Message, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
          }
            
            SmtpClient Client = new SmtpClient(e.SmtpHost, e.SmtpPort);
            Client.Credentials = new NetworkCredential(e.Login,e.Password);
            try
            {
                Client.Send(TheMessage);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Ошибка!\r\n"+ex.InnerException.Message,"Внимание!",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            }
            TheMessage.Dispose();
        }
 
      }
Все работает!
Для того чтобы воспользоваться бросаем кнопочку на форму и:
C#
1
2
3
4
5
 private void button2_Click_1(object sender, EventArgs e)
        {
            Email mail = new Email("eldar412", "Password", "eldar412@mail.ru", "eldar412@mail.ru", "Message!", "Ваш текст!!!", "smtp.mail.ru", 2525);
            Email.SendMail(mail);
        }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2011, 15:12

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Возникла проблема с отправкой данных на мой сервер
Здравствуйте! Возникла проблема с отправкой данных на мой сервер. Действия происходят так. ...

Проблема с отправкой почты по SMTP
не пойму, как произвести аутентификацию перед отправкой почты по СМТП протоколу. Во всех...

ПРОБЛЕМА С ОТПРАВКОЙ ПОЧТЫ! (Страница просто обновляется)
Здравствуйте. Проблема следующая - не отправляется почта ни с одной формы обратной связи! При...

Работа С Отправкой Почты
Можно ли настроить работу с почтой так: - открываем новое письмо - начинаем набирать первые буквы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.