procedure TForm1.Button1Click(Sender: TObject);
begin
NMSMTP1.Host := 'mail.host.com';
NMSMTP1.UserID := 'Username';
NMSMTP1.Connect;
NMSMTP1.PostMessage.FromAddress := 'your_mail@host.com';
NMSMTP1.PostMessage.ToAddress.Text := 'delphiworld@mail.ru';
NMSMTP1.PostMessage.ToCarbonCopy.Text := 'your_mail@host.com';
NMSMTP1.PostMessage.ToBlindCarbonCopy.Text := 'second_your_mail@host.com';
NMSMTP1.PostMessage.Body.Text := 'This is the message from Delphi World project';
NMSMTP1.PostMessage.Attachments.Text := 'c:\File.txt';
NMSMTP1.PostMessage.Subject := 'Delphi World is Great!';
NMSMTP1.SendMail;
ShowMessage('Mail sent !');
NMSMTP1.Disconnect;
end;
Here's the translation of the text into Russian:
Делфи-код, использующий компонент NMSMTP для отправки электронной почты. Вот разбивка каждого шага:
NMSMTP1.Host := 'mail.host.com'; - Устанавливает хост-имя SMTP-сервера в 'mail.host.com'.
NMSMTP1.UserID := 'Username'; - Устанавливает имя пользователя для электронной почты.
NMSMTP1.Connect; - Установливает соединение с SMTP-сервером.
NMSMTP1.PostMessage.FromAddress := 'your_mail@host.com'; - Устанавливает адрес отправителя электронной почты.
NMSMTP1.PostMessage.ToAddress.Text := 'delphiworld@mail.ru'; - Устанавливает адрес получателя электронной почты.
NMSMTP1.PostMessage.ToCarbonCopy.Text := 'your_mail@host.com'; - Устанавливает адрес carbon-copy (CC) получателя электронной почты.
NMSMTP1.PostMessage.ToBlindCarbonCopy.Text := 'second_your_mail@host.com'; - Устанавливает адрес blind carbon-copy (BCC) получателя электронной почты.
NMSMTP1.PostMessage.Body.Text := 'This is the message from Delphi World project'; - Устанавливает текст тела электронной почты.
NMSMTP1.PostMessage.Attachments.Text := 'c:\File.txt'; - Устанавливает путь к файлу-приложению.
NMSMTP1.PostMessage.Subject := 'Delphi World is Great!'; - Устанавливает тему электронной почты.
NMSMTP1.SendMail; - Отправляет электронную почту с помощью SMTP-сервера.
ShowMessage('Мail sent !'); - Показывает сообщение об успешной отправке электронной почты.
NMSMTP1.Disconnect; - Разрывает соединение с SMTP-сервером.
Код запускается при клике кнопки на форме, которая вызывает процедуру Button1Click. Процедура настраивает свойства электронной почты и отправляет ее с помощью компонента NMSMTP.
Для улучшений кода предлагаются следующие предложения:
Вместо жесткого кодирования адресов электронной почтыconsider хранить их в константах или конфигурационных файлах.
Проверьте ввод пользователя, чтобы предотвратить ошибки при настройке свойств электронной почты (например, проверьте, является ли адрес электронной почты валидным).
Рассмотрите добавление обработки ошибок для потенциальных проблем с отправкой электронных писем (например, таймаут соединения, недопустимые учетные данные).
Если планируете отправлять несколько электронных писем, рассмотрите использование цикла вместо повторения кода для каждого электронного письма.
Вы можете также использовать встроенный компонент Delphi TEmail для упрощения процесса.
В целом, этот код функционирует, но может потребовать некоторых улучшений и обработки ошибок.
В статье описывается отправка электронной почты из приложения Delphi с использованием компонента NMSMTP и пример кода на Pascal, демонстрирующий процесс отправки письма с вложением.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.