uses Outlook_TLB;
var
outlook: _application;
procedure Init;
begin
outlook := Coapplication_.Create;
end;
procedure SendEmail;
beginwith Outlook.CreateItem(olMailItem) as mailitem dobegin
To_ := 'email@email.com';
cc := 'email2@email.com';
Subject := 'This is subject line';
Attachments.Add('FileName', 1, 1, 'This is attachment');
Body := 'This is email body';
Send;
end;
end;
Here is the translation of the text into Russian:
Цель: Код демонстрирует, как отправить электронное письмо с помощью объектов COM в Delphi, конкретно используя Microsoft Outlook как клиент для почты.
Компоненты:
Outlook_ TLB: Это типовая библиотека для Outlook, которая предоставляет необходимые интерфейсы и методы для взаимодействия с Outlook.
_application: Это основной интерфейс для доступа к функциональности Outlook.
Описание кода:
1. Процедура Init: Эта процедура создает экземпляр приложения Outlook с помощью метода CoApplication_.Create, который возвращает ссылку на интерфейс _application. Переменная outlook хранит эту ссылку.
2. Процедура SendEmail: Эта процедура создает новое электронное письмо с помощью метода Outlook.CreateItem(olMailItem), который возвращает объект типа MailItem. Используя оператор with, мы создаем ограниченный алиас для объекта mailitem, позволяя нам доступ к его свойствам и методам без необходимости полного имени.
Внутри процедуры SendEmail:
Настройка свойств электронной почты:
To_: Устанавливает адрес электронной почты получателя.
cc: Устанавливает адрес электронной почты получателя в копии (CC).
Subject: Устанавливает тему электронного письма.
Attachments.Add: Добавляет прикрепленный файл к электронному письму. В этом случае это файл с именем "FileName" с типом 1 и идентификатором содержимого 1. Третий аргумент - это данные прикрепления (не показаны в коде).
Настройка тела электронного письма: Устанавливает тело электронного письма с помощью свойства Body.
Отправка электронного письма: Вызывает метод Send для отправки электронного письма.
Альтернативное решение:
Если вы ищете более современный подход или хотите избежать использования объектов COM, можно рассмотреть использование библиотеки Indy, которая предоставляет обертку вокруг underlying почтовых протоколов (SMTP, POP3 и т.д.). Это позволит вам написать платформо-независимый код, не связанный с конкретным клиентом для почты, как Outlook.
Кроме того, если вы целяете на Delphi 2009 или позднее, можно использовать компонент TIdSMTP из библиотеки Indy для отправки электронных писем программно.
В статье представлен пример использования COM-объекта Outlook для отправки электронного письма с помощью программирования на языке Delphi.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS