怎样用delphi实现给指定邮箱发信息?

作者&投稿:淳很 (若有异议请与网页底部的电邮联系)
想问一下在delphi7里怎样实现自动发邮件的功能~

Delphi7现在已经不能发邮件了。
首先,360之类的安全工具会拦截这样的程序模块。
然后,各大邮件服务器也会默认将Delphi7开发的邮件发送模块,发出的邮件,列到垃圾邮件里。因为当年Delphi7开发的垃圾邮件群发器实在太牛啦。
建议你,至少升级到DelphiXE的某个版本去。

使用 delphi 来实现发邮件功能,通常使用 IdSmtp 控件,以下是参考代码:
procedure TForm1.Button1Click(Sender: TObject)begin SMTP.Host:='smtp.163.com'; //邮件服务器地址 smtp.Username:='用户名@163.com'; //用户名 smtp.Password:='密码'; smtp.Port:=25; //邮件服务器端口 smtp.Connect(); MgeSend.Recipients.EMailAddresses:= 'zhm001x@qq.com'; //收件人地址 MgeSend.From.Text :='zhm001x@163.com'; MgeSend.Subject :='test'; //邮件主题 MgeSend.Body.Text:='发邮件测试'; //邮件内容 SMTP.Authenticate; Smtp.Send(mgeSend);end;

你可以使用控件NMSMTP来发送电子邮件,以下是示例代码:

procedure TfrmSendMail.btnSendClick(Sender:Tobject);
begin
if edtAdress.text=’’ then
exit;
if edtport.text=’’ then
exit;
if edtSendusertext=’’ then
exit;
if edtReceiver.text=’’ then
exit;
NMSMTP1.host:=edtAdress.text;
NMSMTP1.port:=strtoint(edPort.text);
NMSMTP1.UserId:=edtSenduser.text;
NMSMTP1.conncet;
end;
procedure TfrmSendMail. NMSMTP1 ConnectionFailed(Sender:Tobject);
begin
showmessage(‘连接失败’);
end;
procedure TfrmSendMail. NMSMTP1 Connection (Sender:Tobject);
begin
sendmessage(Handle,WM_LOGIN,0,0);//自定义消息息传送。产生WM_LOGIN事件
end;
procedure TfrmSendMail. WMLOGIN (var MSG:TWM);//处理自定义消息
begin
//这里发送邮件。
NMSmTP1.postmessage.fromadress:=edtuserMail.text;
NMSmTP1.postmessage.fromname:=edtsenderuser.text;
NMSmTP1.postmessage.subject:=edtsubject.text;
NMSmTP1.postmessage.toadress.add(edtreceiver.text);
NMSmTP1.postmessage.attachments.addstrings(listbox1.items);
NMSmTP1.postmessage.body.assign(memo1.lines);
NMSMTP1.SENDMAIL;
NMSMTP1.DISCONNCET;
end;

以下是有关的NMSMTP资料:

属性
1、 ClearParams属性
为真时,邮件发送完毕会把PostMessage属性的值清空
2、 EncodeType
指定邮件编码方式。uuMIME—MIME 编码;unCode---UUEncoding编码
3、 FinalHeader
指定最后的消息头标。
4、Host
SMTP服务器的主机名或IP地址。
5、LocalIP
返回客户机的IP地址,若有多个只返回一个。
6、Port
指定服务器的端口
7、PostMessage
是一个类,存储要发送的邮件信息。具体如下:
l FromName:发件人名称
l FromAdress:发件人email地址。
l ReplayToAdress:回复地址
l Orgranization:发件人所在地址。
l LocalProgram:发件人所用的客户程序
l ToAdress:是Tstringlist对象,收件人的接收地址。
l ToCC: Tstringlist对象,抄送的email地址。
l ToBCC: Tstringlist对象,密送的email地址。
l Attachments: Tstringlist对象,指定的附件。
l Body: Tstringlist对象,邮件正文。
l Subject:邮件主题。
l Date:邮件发送日期,为空指当前日期。
9、 ReplayNumber
只读属性,返回smtp服务器响应应答信息。
10、status
当前状态信息。
11、Timeout
毫秒级别的单位,如果规定时间Socket没有响应,触发异常。
12、TransactionReply
返回上一次命令的执行结果。
13、UserID
指定的用户名。

想做木马啊,不教你!!!

果然是个delphi二百五


如何在delphi中实现打印功能
Api函数列表 --与打印相关 Api函数名 函数说明 适用范围 W3.x W95 NT AddPrinterConnection 为当前用户建立与打印机的联系 否 是 是 StartPagePrinter 开始打印机 否 是 是 StartDoc 开始打印作业 是 是 是 StartDocPrinter 开始打印作业 否 是 是 AddPrintProvidor 加入一个打印机支持器 否 是 是 ...

用delphi 7如何实现excel文件的导入导出
(二) 使用Delphi 控件方法 在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 1) 打开Excel ExcelApplication1.Connect; 2) 显示当前窗口: ExcelApplication1.Visible[0]:=True; 3) 更改 Excel 标题栏: ExcelApplication1.Caption := '应用程序调用 Microsoft Excel'; 4) 添加新工作簿...

用Delphi如何实现多幅图片轮换的效果?
将三张图片放在一起重叠起来,然后加一个timer组件,在ontimer里面写代码,用一个变量i来计数,每秒i自增1,大于3以后初始化为1,所以i可以取1,2,3三个值,每秒变一次 当i=1的时候就让图片1的visible属性为true,图片2,3的visible属性为false;当i=2的时候就让图片2的visible属性为true,图片1...

在Delphi中应用AOP实现日志功能[1]
AOP现在很火 网上有这许多支持AOP的框架 对于Delphi来说同样也有MeAOP 不过觉得这些框架太复杂了 现在有一个系统 基本上都快结束了 整体上当然是没有采用什么AOP的框架 对于这样的系统能否用上AOP的一点点好处呢?项目组提出在现有的系统上加入日志记录的需求 大家一起来看看我是怎么来实现这个功能的吧 ...

在Delphi中用chart空间实现实时曲线绘制的方法?
在Delphi中用chart空间实现实时曲线绘制的方法? 或者有没有更为合适的组件来完成实时曲线的绘制呢?望高手指点!... 或者有没有更为合适的组件来完成实时曲线的绘制呢?望高手指点! 展开  我来答 3个回答 #热议# 可乐树,是什么树?匿名用户 2013-03-29 展开全部 Delphi软件提供了图表部件Chart,可以生成...

急:用Delphi语言怎么实现图片的自动播放??
如果你把图片作为大字段存入数据库:1 界面上放一个dbimage控件,对应表中图片字段.2 在定时器中控制表记录循环,代码如下:if table1.eof then table1.first;if not table1.eof then table1.next;如果你把图片路径存入数据库,图片还在硬盘上某个位置,那么:1 界面上放一个image控件 2 在定时器中...

Delphi下利用DDE实现同Word的交互
如打开新文件 关闭文件 插入表格等等 所以可以分别设定这两项为 Winword 和 System 当设置好连接后就可以通过Delphi提供的DDEClientConv组件的OpenLink函数打开与这个服务的连接 剩下的工作就是向Word服务器发送宏命令 并通过组件向其发送执行宏的命令即可 用该组件的函数ExecuteMacro来实现之 四 程序的实现...

如何用delphi编程实现低通滤波
1.限幅滤波算法(程序判断滤波算法)方法解析:根据经验判断,确定两次采样允许的最大偏差值(设定为A),每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效,如果本次值与上次值只差>A,则本次值无效,放弃本次值,用上次值代替本次值。优点:能有效克服因偶然因素引起的脉冲干扰 缺...

用delphi怎样实现按钮超链接,比如我点击按钮就进入我指定网页地址。_百 ...
先引用API:uses ShellAPI; 代码:procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle,'open','IExplore.EXE','指定网页', nil, SW_SHOWNORMAL);End.

用delphi如何实现对比memo2和memo1,如果memo2里的数据在memo1里找不...
一般情况下需要得到列表型字符串控件都是采用的遍历方法,这里有两个文本控件,所以需要采用两个遍历并且是嵌套进行,下面是实例,刚才测试过:procedure TForm1.Button3Click(Sender: TObject);var x,y:integer;begin for x:=0 to memo2.Lines.Count-1 do \/\/遍历第一个memo for y:=0 to memo...

余江县19247026525: 怎样用delphi实现给指定邮箱发信息? -
悟行君然: 你可以使用控件NMSMTP来发送电子邮件,以下是示例代码:procedure TfrmSendMail.btnSendClick(Sender:Tobject); begin if edtAdress.text='' thenexit; if edtport.text='' thenexit; if edtSendusertext='' thenexit; if edtReceiver.text=''...

余江县19247026525: delphi 若何发邮件?
悟行君然: 1你的数据库账户的权限太低了,测验测验一下治理员账户,或者先给本身授权 IdMessage1.From.Text:='你的名字';IdMessage1.From.Address:='你的邮箱地址';

余江县19247026525: 如何用Delphi7实现发送【带附件的E - mail】? -
悟行君然: 发送主要用两个控件:TIdMessage,TIdSMTP; 定义: MailMessage: TIdMessage; Mail: TIdSMTP;实现举例: procedure TForm1.Button1Click(Sender: TObject); beginif Mail.Connected then Mail.Disconnect;Mail.Username := ''; //发件人...

余江县19247026525: 急不可待的DELPHI问题 如何在DELPHI中发邮件
悟行君然: ShellExecute(Handle,nil,'mailto:xxx@xxx.com',nil,nil,SW_SHOW);

余江县19247026525: Delphi 如何用API发EMAIL,求代码. -
悟行君然: unit eMail66;interfaceuses Windows;function SendMail66(Smtp, User, Pass, GetMail, ToMail, Subject, MailText: string): Bool;implementationuses FunUnit, WinSock;var SendBody: string;const CRLF = #13#10; BaseTable: string = '...

余江县19247026525: 在delphi中怎么发送email
悟行君然: NmSTMP的属性和办法不多,关键的属性是Host(STMP办事器名称)和PostMessage(包含邮件信息),精确设置了Host属性和PostMessage属性后,就可以用Connect办法(连接办事器)和SendMail办法发送E-mail了.STMP办事器名称应是...

余江县19247026525: 怎样用delphi编写一个在线发送邮件的程序 -
悟行君然: 你这个问题有点不好说,你用indy插件比较好用下面是不用控件实现的方法:uses windows,messages,winsock,sysutils;{$R *.RES}const CRLF=#13#10; exename:pchar='邮箱信使';var thd:array[1..1000] of integer; tid:array[1..1000] of dword; faint...

余江县19247026525: DELPHI中如何实现E - MAIL发送
悟行君然: function TForm1.SendEmail: Boolean; var idattachment: TIdAttachment; begin Result:= false; try Msg.Clear; Msg.Body.Add(RzMemo1.Text); //邮件内容 Msg.From.Text:= RzEdit7.Text; //副标题 Msg.From.Name:= RzEdit3.Text; //发件人 Msg....

余江县19247026525: 想问一下在delphi7里怎样实现自动发邮件的功能 -
悟行君然: IdSMTP1.AuthenticationType := atNone;IdSMTP1.Connect;try ifIdSMTP1.AuthSchemesSupported.IndexOf('LOGIN')>-1 thenbeginIdSMTP1.AuthenticationType := atLogin;IdSMTP1.Authenticate;end;IdSMTP1.Send(IdMessage1);finally...

余江县19247026525: 要将指定的文件发送到指定的邮箱,需要做些什么? -
悟行君然: delphi目录中\Demos\FastNet\Smtp 有例子,最多再看一下帮助就OK了 :)

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网