网上搜到的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);