Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 11.04.2017
Сообщений: 58
1

Как создать почтовую программу?(можно даже без окна)

04.05.2017, 17:45. Показов 938. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
стандартный пример паскаля абс
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Исправьте имя SMTP-сервера SMTPServerName и адрес получателя toReceiver! 
uses System.Net.Mail;
 
const 
  SMTPServerName = 'mail.spark-mail.ru';
 
begin
  var fromSender := 'ivanov@mail.ru';
  var toReceiver := 'petrov@yandex.ru';
  var subject := 'Proba';
  var body := 'Hello!' + NewLine + 'I am robot!';
  var message := new MailMessage(fromSender, toReceiver, subject, body);
  
  var mailClient := new SmtpClient(SMTPServerName);
 
  mailClient.Send(message);
end.

но он не работает если поменять SMTP сервер на работающий нужно ввести логин пароль порт и т.д вход на сервер. А как это сделать какой код для авторизации в почту?

Добавлено через 4 минуты
если просто поменять SMTP Отправителя получателя программа закрывается выдавая ошибку об не авторизации как авторизироваться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2017, 17:45
Ответы с готовыми решениями:

Как упростить эту программу, можно даже модуль убрать, чтоб 20 строк было?
uses graphABC; //Подключаем графический модуль const W = 800; H = 500;//Размеры...

Как создать программу, которая запускалась бы даже без ОС
Хочу сделать программу, которая запускалась бы даже без ОС. Ведь и так почти машинный код. Можно...

С++ Builder XE4 можно ли создать проект без консольного окна
Здравствуйте! Ребята, подскажите, можно ли в С++ Builder XE4 создать консольное приложение, но...

Как перейти в почтовую программу (Outlook)?
подскажите пожалуйста, скажем есть таблица с контактами, в одном столбце еmail, как сделать, что...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
04.05.2017, 18:00 2
Pascal
1
2
3
4
var mailClient := new SmtpClient(SMTPServerName, port_number);
mailClient.Credentials := new System.Net.NetworkCredential('username', 'pass');
// возможно понадобится еще и ssl, при защищенном соединении:
mailClient.EnableSsl := true;
, а потом уже Send
0
5077 / 2649 / 2349
Регистрация: 10.12.2014
Сообщений: 10,028
05.05.2017, 11:26 3
Добрался до своих „закрамов“… ;–)

Вот готовая заготовка по отправке письма из PABC.NET c аттачем — вложением:
Pascal
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
uses System.Net.Mail;
 
const 
  fromName   = 'здесь пишем имя отправителя';
  fromEMail  = 'адрес отправителя@yandex.ru';
  password   = 'пароль аутентификации';
  SMTPServer = 'smtp.yandex.ru';
  portNumber = 587;
  
  toName  = 'имя получателя';
  toEMail = 'его электронный адрес@mail.ru';
  Attach  = 'c:\Matrix.txt';
  
  theme = 'Письмо с приветом';
  text  = '<h2>Письмо про то, что:</h2>' +
  '<p>Я пишу тебе с приветом,</p>' +
  '<p>Рассказать, что солнце встало,</p>' +
  '<p>Что оно горячим светом</p>' +
  '<p>По чему-то там затрепетало…</p>' +
  '<p>&nbsp;&nbsp;&nbsp;&nbsp;<i>Двенадцать стульев (Илья Ильф, Евгений Петров)</i></p>';
  
 
begin
  try
    var fromAddr := New MailAddress(fromEMail, fromName);
    var toAddr   := New MailAddress(toEMail  , toName  );
    var message  := New MailMessage(fromAddr , toAddr  );
    with message do
      begin
        Subject    := theme;
        Body       := text;
        IsBodyHTML := True; // если text с разметкой
        Attachments.Add(New Attachment(Attach));
      end;
      
    var smtp := New SmtpClient(SMTPServer, portNumber);
    with smtp do
      begin
        EnableSSL   := True; // использовать SSL
        DeliveryMethod := SmtpDeliveryMethod.Network; // по сети на smtp
        UseDefaultCredentials := False; // не отправлять учётные данные вместе с запросом
        Credentials := New System.Net.NetworkCredential(fromEMail, password);
        Send( message );
      end;
  
    WriteLn('Отправлено!');
  except
    WriteLn('Не удалось отправить письмо...');
  end;
end.
Всё работает!
Только что проверял.

Для сведения ТС:
Сейчас все мылоотправители требуют SSL.
Поэтому необходим пароль отправителя.
1
05.05.2017, 11:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2017, 11:26
Помогаю со студенческими работами здесь

Как создать pop-up окна без обычных броузерских иконок ?
Ну, чтобы совсем, кроме краев, ничего не было: ни синей полосы, ни кнопки закрытия и иже с ним....

Как создать красивый интерфейс приложения без классического дизайна окна?
Все доброе времени суток. Пожалуйста, прочти прежде чем отвечать. Не пишите про время,...

Можно ли создать bat-файл, который запустил бы программу и скопировал текст из её окна в файл?
То есть у меня есть программа exe файла и когда запускаешь программа показывает историю браузера,...

Как можно создать и использовать массивы без границ
подскажите, пжалста, как можно создать и использовать массивы без границ? Я знаю, что они...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru