delphi发送邮件

Delphi 发送邮件 通过Office Outlook

Delphi Tips

网上搜到的Delphi邮件发送系统,绝大多数是使用SMTP协议来发送。

但是事实上它们已经过时了,大多数邮件服务器已经屏蔽了Delphi Indy的邮件发送,从而导致Delphi发送不成功。

事实上,让Delphi通过Outlook.Application来发送邮件,也是非常方便的,而且没有那么多的限制。

以下是我目前使用的,我把它写成了个函数,使用的时候调用一下即可。

不过,使用的前提是,你得现在在本地Outlook上配置好一个账户。

procedure TForm1.SendOutlookMail(const Recipient,Title,Body,Attachment:string);
    const
       olMailItem = 0;
    var
       Outlook: OleVariant;
       vMailItem: variant;
    begin
       try
          Outlook := GetActiveOleObject("Outlook.Application");
       except
          Outlook := CreateOleObject("Outlook.Application");
       end;
       vMailItem := Outlook.CreateItem(olMailItem);
       vMailItem.Recipients.Add(Recipient);
       vMailItem.Subject := Title;
       vMailItem.Body := Body;
       if Attachment <>"" then vMailItem.Attachments.Add(Attachment);
       vMailItem.Send;
       VarClear(Outlook);

delphi发送邮件