您的位置:首页 > 编程语言 > Delphi

delphi发送邮件程序

2012-01-06 22:29 288 查看


unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,Forms,

  Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,

  IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;

type

  TForm1 = class(TForm)

    btn1: TButton;

    SMTP: TIdSMTP;

    MailMessage: TIdMessage;

    mmo1: TMemo;

    procedure btn1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

Var

    i: integer;

    sEmail, sFullName: string;

begin

           sEmail :='411714050@qq.com';//sEmail 用于临时保存收件者的邮箱地址如我本人的:pro-xu@msn.com

            if Trim(sEmail) <> '' then

            begin

                with MailMessage do

                begin

                     Clear; // 清除前一次产生的 body & headerm, 以免第二次按时重复

                    Body.Assign(mmo1.Lines);    //邮件正文

                     From.Text :='weifengx10@163.com'; // 发送者的邮箱地址

                    Recipients.EMailAddresses := sEmail ; // 前面申请的收件者地址变量

                     Subject := '你好吗,亲爱的'; //写入邮件主题

                 //Priority := TIdMessagePriority(2);//设置发送的优先级 0-4, 0表示最高优先顺序

                  CCList.EMailAddresses :='411714050@qq.com';//如果要抄送可以在这里进行操作

                 //  ReceiptRecipient.Text := From.Text; //若要寄件回函,那么就添加这行

               end;

                // 以下几行代码就是发送EMAIL的验证用户名及密码代码:

               SMTP.AuthenticationType := atLogin;{Simple Login}

                SMTP.Username :='weifengx10';//如发送者的Email地址为'a123456@126.com'那么在此时可以在用户名中填入'a123456'

               SMTP.Password := 'weifeng123';//'在所在的邮件服务器中注册的密码'

             //一般设定

               SMTP.Host := 'smtp.163.com';//一般发送邮件服务器的地址都以smtp.XXXX.com进行,如此时的126邮箱的为:smtp.126.com;

               SMTP.Port := 25;//发邮件者的发送邮件服务器端口号,一般为25要注意的是这里25是一个integer类型的.

           //发送

               try

                   SMTP.Connect;//与发件者服务器建立连接

                   try

                       SMTP.Send(MailMessage);//发送EMAIL内容至收件者.

                      ShowMessage('Send email successful.');

                    finally

                       SMTP.Disconnect;//此时不管发送是否成功与否都将Free掉所占的资源

                   end;

                except

                    on e:exception do

                    begin

                       ShowMessage('Send email unsuccessful.' + e.Message);//当连接错误时显示具体错误信息.

                   end;

                end;

            end;

end;

end.

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息