delphi - 如何使用 Indy 的 smtp 服务器组件发送邮件消息?

标签 delphi indy

由于 http://www.indyproject.org/Sockets/Demos/index.EN.aspx 中给出的演示只将接收到的流保存到文件中,我不知道如何有效地将该流作为邮件发送。

有人可以教我如何做到这一点或给我一些更完整的例子吗?

最佳答案

以下是有关如何发送电子邮件的完整示例:

VAR SMTP : TIdSMTP;
VAR MSG : TIdMSG;
.
.
  MSG:=TIdMSG.Create(NIL);
  TRY
    WITH MSG.Recipients.Add DO BEGIN
      Name:='<Name of recipient>';
      Address:='<Email address of recipient>'
    END;
    MSG.BccList.Add.Address:='<Email address of Blind Copy recipient>';
    MSG.From.Name:='<Name of sender>';
    MSG.From.Address:='<Email address of sender>';
    MSG.Body.Text:='<Message Body>';
    MSG.Subject:='<Subject of message>';
    SMTP:=TIdSMTP.Create(NIL);
    TRY
      SMTP.Host:='x.x.x.x'; // IP Address of SMTP server
      SMTP.Port:=25; // Port address of SMTP service (usually 25)
      SMTP.Connect;
      TRY
        SMTP.Send(MSG)
      FINALLY
        SMTP.Disconnect
      END
    FINALLY
      SMTP.Free
    END
  FINALLY
    MSG.Free
  END;
.
.

(我知道WITH令人不悦,但我通常在这样的情况下使用它,在这种情况下,毫无疑问正在发生的事情,并且没有(或只有极小的)歧义机会)

关于delphi - 如何使用 Indy 的 smtp 服务器组件发送邮件消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440911/

相关文章:

delphi - 编译Delphi 2010项目时,什么可能导致“"Required Package ' IndyCore'未找到”?

delphi - 如何获取具有相同类名的不同控件的句柄?

delphi - delphi 中打印到非默认打印机

delphi - 如何将 C 联合转换为 Delphi?

德尔福:idHttp+SSL

Delphi - MemoryStream 或 FileStream

delphi - 在delphi Canvas 上模拟高亮笔

delphi - Indy http 服务器问题

Delphi IdHTTP服务器加载html

delphi - 为什么 IdHTTPProxyServer 会更改请求的 HTTP 版本?