本周下载排行
|
|
本月下载排行 |
| |
|
|
| 资源名称: | 邮件特快专递示例程序 |
| 文件类型: |
RAR |
|
| 适用版本: |
Delphi6, Delphi7 |
| 发 布 者: |
DelphiFans |
| 资源类型: |
免费 |
| 资源大小: |
223 KB |
| 资源等级: |
 |
| 整理时间: |
2004-8-7 10:40:46 |
| 资源网址: |
无 |
| 下载次数: |
本 周:5 本月:1 总计:3980 |
| 下载链接: |
|
|
|
| 资源简介: |
{ ***************************************************************************** 这个过程是用来得到邮件特快专递目的地服务器名称及优先级别数,参数AMXList是用 来接收结果值,AQName代表传递过来的域名 *****************************************************************************} procedure TQuickEMailFrm.GetMxList(AMxList: TStringList; AQName: string); var i: Integer; begin with IdDNSResolver do begin Host := '202.102.13.141'; { Host属性用来指定域名服务器的地址,此处为笔者所在地 的主域名服务器地址,你也可以指定任一可以快速访问到的Internet上域名服务器 地址,要知道自己所在地的域名服务器地址,win98下通过winipcfg命令,win2000下 通过ipconfig /all即可查出。} ReceiveTimeout := 10000; // 在指定的时间内得不到域名服务器的反馈,则视为失败。 ClearVars; // 清除前一次查询所反馈回来的资源记录 { 构建此次查询的头部结构 } with DNSHeader do begin Qr := False; // False 代表查询 Opcode := 0; // 0代表标准域名查询 RD := True; //域名服务器可以进行递归查询 QDCount := 1; //查询的数量 end; { 构建要查询的问题 } DNSQDList.Clear; with DNSQDList.Add do begin QName := AQName; //要查询的域名 QType := cMX; //QTYPE指定要查询的资源记录的种类,值为cMX代表邮件交换记录 QClass := cIN; end; ResolveDNS; //向域名服务器发出请求 { 从域名服务器接收反馈的结果,将反馈回来的邮件服务器名称放在AMXList列表的Name部分, 邮件服务器的优先级别数放在Value部分。 } for i := 0 to DNSAnList.Count - 1 do AMxList.Add(DNSAnList[i].RData.MX.Exchange + '=' + IntToStr(DNSAnList[i].RData.MX.Preference)); end; end; { 单击"发送"按钮时发送专递邮件 } procedure TQuickEMailFrm.btnSendClick(Sender: TObject); var MxList: TStringList; i: Integer; QName, ThoughAddress: string; begin //根据用户所填写的内容创建邮件 with IdMsgSend do begin Body.Assign(mmContent.Lines); //邮件正文 From.Address := Trim(edtFrom.Text); //发件人地址 Recipients.EMailAddresses := Trim(edtTo.Text); //收件人地址 Subject := edtSubject.Text; //邮件主题 end; //从输入的收件人地址中取出邮箱域名,利用前面的GetMxList过程得到目的地地址 QName := TrimRight(copy(edtTo.Text, Pos('@', edtTo.Text) + 1, Length(edtTo.Text))); MxList := TStringList.Create; try GetMxList(MxList, QName); ThoughAddress := MxList.Names[0]; {取反馈回来的第一个服务器为目的地,读者可 根据实际需要改进,比如说考虑到信件的优先级或当你选择的服务器因繁忙而暂时 不能处理你的信件时,换用其它服务器试试 } finally MxList.Free; end; //发送邮件 with IdSMTP do begin Host := ThoughAddress; // 将Host赋值为目的地,这就是特快专递与普通邮件的区别 Port := 25; // smtp服务默认的端口为25 Connect; //连接到服务器 try Send(IdMsgSend); //发送刚才创建的邮件 ShowMessage('发送完毕'); //发送完毕后提示 finally Disconnect; //断开服务器连接 end; end; end; <BR> |
|
|
下载帮助(?)
下载链接错误报告或者意见反馈 |
| 下载说明: |
|
|