发送邮件源代码

合集下载

SMTP邮件服务器实验报告及源代码参考模板

SMTP邮件服务器实验报告及源代码参考模板

SMTP邮件服务器实验1. 实验内容和实验环境描述实验任务:使用Socket API编写一个SMTP邮件服务器程序实验内容:1)作为SMTP服务器,接收邮件客户端程序的TCP连接请求,接收SMTP 命令和邮件数据,将邮件保存在文件中;2)作为SMTP客户端,建立到实际邮件服务器的TCP连接,发送SMTP 命令,将保存的邮件发送给实际邮件服务器;3)提供邮件差错报告:将实际邮件服务器的差错报告转发给邮件客户端软件;4)支持一封邮件多个接收者,要求接收者属于不同的域(如、、,…);5)提供发件人和收件人Email地址格式检查功能,例如下列邮件地址是错误的:chengli,chengli@,,…. 。

实验环境:Microsoft Visual Studio 20102. 软件设计(1) 数据结构:char mail_from[4096]; //存发件地址char rcpt_to[5][4096]; //存收件地址char data[4096]; //存Datachar imf[4096]; //存邮件标准格式WORD A; //加载套接字库WSADATA B; //储存调用WSAStartup函数返回的Windows Sockets初始化信息int err; //报错标志SOCKET sockSrv; //创建用于监听客户端的套接字SOCKADDR_IN addrSrv; //作为服务器端的socket地址char recvBuf[4096]=""; //接收客户端SMTP指令(2) 模块结构:[1]main(); //服务器端,用于从客户端接收储存邮件[2]main_clicenet(SOCKET s); //客户端,用于将收到的邮件转发到邮件服务器,同时将邮件服务器的错误报告通过SOCKET s转发给客户端[3]ValidEmail(char *addr); //收发件地址(addr)合法性监测(4) 主要功能模块的实现要点[1]main(); //服务器端,用于从客户端接收储存邮件实现要点:与客户端建立连接,根据SMTP协议标准进行通信。

方法发个方法非常

方法发个方法非常

方法发个方法非常
有很多种方法可以发送一个方法。

以下是一些常见的方法:
1. 通过电子邮件发送方法:将方法的内容写入电子邮件正文,并将其发送给所需的收件人。

这适用于简短的方法或代码片段。

2. 通过文件分享工具发送方法:使用文件分享工具(如Google Drive、Dropbox 等)将方法的源代码文件上传并分享给其他人。

这样其他人可以下载源文件并在自己的环境中运行方法。

3. 在代码托管平台上共享方法:将方法的源代码上传到代码托管平台(如GitHub、GitLab等)并将其共享给其他开发人员。

其他人可以通过克隆代码库或打开共享的链接来访问方法。

4. 使用即时通讯工具发送方法:通过即时通讯工具(如Slack、Microsoft Teams 等)直接将方法的源代码复制粘贴给其他人。

这适用于需要即时沟通和分享的小型方法。

5. 在博客或论坛上发布方法:将方法的源代码发布在博客或论坛上,并分享链接给其他人。

这样其他人可以在浏览器中访问方法代码并阅读。

无论哪种方法,都需要确保发送的方法内容的安全性和准确性,并遵守相关的法
律和道德规范。

发送验证邮件的三种方法

发送验证邮件的三种方法

发送验证邮件的三种⽅法在.NET中的System.Web.Mail名字空间下,有⼀个专门使⽤SMTP协议来发送邮件的类:SmtpMail,它已能满⾜最普通的发送邮件的需求。

这个类只有⼀个⾃⼰的公共函数--Send()和⼀个公共属性—SmtpServer您必须通过SmtpServer属性来指定发送邮件的服务器的名称(或IP地址),然后再调⽤Send()函数来发送邮件。

第⼆、使⽤CDO组件发送邮件CDO是Collaboration Data Objects的简称,它是⼀组⾼层的COM对象集合,并经历了好⼏个版本的演化,现在在Windows2000和Exchange2000中使⽤的都是CDO2.0的版本(分别为cdosys.dll和cdoex.dll)。

CDOSYS构建在SMTP协议和NNTP协议之上,并且作为Windows2000 Server的组件被安装,您可以在系统⽬录(如c:\winnt或c:\windows)的system32⼦⽬录中找到它(cdosys.dll)。

CDO组件相对于先前介绍的SmtpMail对象功能更为丰富,并提供了⼀些SmtpMail类所没有提供的功能,如通过需要认证的SMTP服务器发送邮件等。

下⾯⼀段代码就展⽰了如何使⽤CDO组件通过需要认证的SMTP服务器发送邮件的过程:(in C#)public void CDOsendMail(){try{CDO.Message oMsg =new CDO.Message();oMsg.From ="myaccount@";oMsg.To ="myaccount@";oMsg.Subject ="MailTest";oMsg.HTMLBody ="<html><body>Test</body></html>";CDO.IConfigurationiConfg = oMsg.Configuration;ADODB.Fields oFields= iConfg.Fields;oFields["/cdo/configuration/sendusing"].Value=2;oFields["/cdo/configuration/sendemailaddress"].Value="myaccount@";//sender mailoFields["/cdo/configuration/smtpaccountname"].Value="myaccount@";//email accountoFields["/cdo/configuration/sendusername"].Value="username";oFields["/cdo/configuration/sendpassword"].Value="password";oFields["/cdo/configuration/smtpauthenticate"].Value=1;//value=0 代表Anonymous验证⽅式(不需要验证)//value=1 代表Basic验证⽅式(使⽤basic (clear-text)authentication.//The configuration sendusername/sendpassword orpostusername/postpassword fields are used to specify credentials.)//Value=2 代表NTLM验证⽅式(Secure PasswordAuthentication in Microsoft Outlook Express)oFields["/cdo/configuration/languagecode"].Value=0x0804;oFields["/cdo/configuration/smtpserver"].Value="";oFields.Update();oMsg.BodyPart.Charset="gb2312";oMsg.HTMLBodyPart.Charset="gb2312";oMsg.Send();oMsg = null;}catch (Exception e){throw e;}}注意:由于Exchange2000的CDO组件cdoex.dll会更新原有的Windows2000的CDO组件cdosys.dll,所以如果您希望继续使⽤cdosys.dll,您必须先通过regsrv32.exe卸载掉cdoex.dll。

smtp协议

smtp协议

SMTP协议SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)是互联网上邮件传输的标准协议。

它定义了电子邮件是如何通过网络发送和接收的规则。

在本文中,我们将详细介绍SMTP协议的工作原理和常见用途。

1. SMTP协议的基本原理SMTP协议是一种客户端-服务器协议,主要用于发送邮件。

它基于TCP/IP协议栈,使用25号端口进行通信。

SMTP协议的基本原理如下:1.客户端连接服务器:客户端应用程序通过建立与邮件服务器的TCP连接,连接到服务器的25号端口。

2.服务器欢迎信息:服务器接受客户端连接后,发送欢迎信息,通知客户端连接成功。

3.客户端身份验证:客户端向服务器发送身份验证信息,以验证自己的身份。

常见的身份验证机制包括登录名和密码的组合。

4.服务器身份验证:服务器接收到客户端的身份验证信息后,进行身份验证。

如果验证成功,服务器将继续处理客户端的请求。

5.邮件发送:客户端向服务器发送邮件内容,包括发件人、收件人、主题和正文等信息。

6.邮件传输:服务器接收到邮件内容后,将其传输到目标邮件服务器。

7.服务器响应:目标邮件服务器接收到邮件后,将发送响应给源邮件服务器,以确认邮件是否成功传输。

8.交互结束:客户端和服务器之间的交互结束后,可以关闭TCP连接。

2. SMTP协议的用途SMTP协议作为电子邮件系统的核心协议,主要用于以下几个方面:•发送邮件: SMTP协议允许用户通过邮件客户端发送电子邮件。

用户只需配置邮件客户端的SMTP服务器地址和端口,即可发送邮件。

•邮件路由: SMTP协议定义了邮件的传输路径,通过邮件服务器之间的交互,将邮件从源邮件服务器传输到目标邮件服务器。

•邮件中继: SMTP协议支持邮件的中继传输。

如果源邮件服务器无法直接将邮件传输到目标邮件服务器,它可以将邮件发送给其他中间邮件服务器,由中间邮件服务器负责将邮件传输到目标邮件服务器。

•反垃圾邮件: SMTP协议可以用于反垃圾邮件的过滤。

禅道自动发送邮件配置(转)

禅道自动发送邮件配置(转)

禅道⾃动发送邮件配置(转)禅道⽀持邮件提醒功能,⽬前是当需求、bug有变动的时候,会给相关的⼈员发送email通知。

任务的提醒暂时后没有做,后⾯版本会加上。

那么如何配置邮件提醒功能呢?很简单。

1. 进⼊到zentao的源代码⽬录,进⼊module/mail⽬录。

2. ⾥⾯有⼀个config.php,mail的相关配置都是在这个地⽅进⾏设置的。

但不建议直接修改这个⽂件,因为我们后⾯升级会覆盖改⽂件。

3. 在module/mail下⾯创建opt/config⽬录,然后将module/mail/config.php 拷贝⼀份到opt/config/下⾯。

4. 修改⾥⾯的参数:/* 是否打开邮件功能。

*/$config->mail->turnon = false; // 如果需要打开,将其设为true/* 设置发件⼈地址和名称。

*/$config->mail->fromAddress = ''; // 发件⼈地址。

⽐如zentao@$config->mail->fromName = ''; // 发件⼈名称。

⽐如zentao/* 设置发信⽅式,⽬前⽀持phpmail|sendmail|smtp|gmail。

*/$config->mail->mta = 'gmail';/* 普通SMTP的配置:*/if($config->mail->mta == 'smtp'){$config->mail->smtp->debug = 0; // smtp debug级别,0,1, 2, 数字越⼤,级别越⾼。

$config->mail->smtp->auth = true; // 是否需要验证。

$config->mail->smtp->host = ''; // smtp主机。

使用freemarker做邮件发送模板

使用freemarker做邮件发送模板

使⽤freemarker做邮件发送模板1、解析⼯具类package com.example.springbootfreemarker.utils;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.Map;public class FreeMarkerTemplateUtil {public String getEmailHtml(Map map, String templateName) {String htmlText = "";Configuration configuration = new Configuration(Configuration.VERSION_2_3_27);try {//加载模板路径configuration.setClassLoaderForTemplateLoading(ClassLoader.getSystemClassLoader(),"ftl");//获取对应名称的模板Template template = configuration.getTemplate(templateName);//渲染模板为htmlhtmlText = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);} catch (Exception e) {e.printStackTrace();}return htmlText;}/*** 输出到控制台*/public void print(String name, Map<String, Object> root) throws TemplateException, IOException {//通过Template可以将模板⽂件输出到相应的流Template template = this.getTemplate(name);template.process(root, new PrintWriter(System.out));}/*** 获取模板信息** @param name 模板名* @return*/public Template getTemplate(String name) {//通过freemarkerd Configuration读取相应的ftlConfiguration cfg = new Configuration(Configuration.VERSION_2_3_25);//设定去哪⾥读取相应的ftl模板⽂件,指定模板路径cfg.setClassLoaderForTemplateLoading(ClassLoader.getSystemClassLoader(), "ftl");try {//在模板⽂件⽬录中找到名称为name的⽂件Template template = cfg.getTemplate(name);return template;} catch (IOException e) {e.printStackTrace();}return null;}}测试: //填充模板⽂件中的参数值Map<String, Object> root = null;FreeMarkerTemplateUtil freeMarkerTemplateUtil = null;@Beforepublic void setUp(){freeMarkerTemplateUtil = new FreeMarkerTemplateUtil();root = new HashMap<String, Object>();}@Testpublic void testCreateHtml() throws Exception{root.put("username", "admin");String emailHtml = freeMarkerTemplateUtil.getEmailHtml(root, "reg.ftl"); // System.out.println(">>>>" + emailHtml);root.put("username", "root");freeMarkerTemplateUtil.print("reg.ftl", root);}源码参照:。

5分钟!教你用C语言发送邮件:附送源码+教学!

5分钟!教你用C语言发送邮件:附送源码+教学!

5分钟!教你⽤C语⾔发送邮件:附送源码+教学!前⾔相信⼤家都有过被C语⾔⽹络编程所⽀配的恐惧吧?其实,⼩编在刚刚学习这⽅⾯的知识的时候也有这样的感受,并且所有的资料都是从⽹络寻找的,但是,现在你们不同了,因为这篇⽂章将会带你们⼀步步地,写出你们第⼀个使⽤SMTP协议来发送邮件的C语⾔程序,这个和⼩编刚学习的时候可不同呀!⽂章末尾有总结,这是精髓哦⾔归正传,代码写起来!⾸先,这篇⽂章不是讲理论的⽂章,⽽是让你们动⼿实践的⽂章,⽬的在于让各位看官能动⼿写出能编译成功、能成功运⾏、能成功发送邮件的C语⾔程序,这篇⽂章不会涉及太多的理论知识,并且代码也没有经过特别的封装,旨在让各位看官能编写出这个程序,所以看官跟着⽂章动⼿做就可以了。

第⼀步⾸先,引⽤stdio.h、winsock2.h、windows.h(可有可⽆,下⽂讲到),注意,这⾥有⼀个地⽅有很多⼈会出错,如果你要引⽤windows.h的话,就得在引⽤winsock2.h之后才能引⽤windows.h,否则会出现“未定义标识符”的情况,如下图↓这是正确写法错误写法按照错误写法进⾏调试的话,会出现以下错误提⽰↓错误提⽰然后我们再声明⼀个变量和两个函数,变量是⽤来储存服务器返回的数据的,两个函数分别是⽤来创建套接字(socket)和接收服务器返回数据的,这⾥我们声明了⼀个字符型数组,数组⼤⼩我们⽤BUFSIZ代替,这⾥有⼈就会问了:“为什么⽤BUFSIZ作为数组⼤⼩呢?”,答案是:“减轻系统负担”,不理解?没关系,先把代码运⾏起来,然后再慢慢研究。

除了以上步骤,我们还需要写⼊以下两⾏代码,加⼊两个库⽂件,其中User32.lib是可有可⽆的,加⼊User32.lib只是为了能够调⽤MessageBox()函数⽽已。

到这⾥,我们的第⼀步完成了!接下来是第⼆步第⼆步初始化前期的准备⼯作做好了,我们现在开始编写我们要⽤到的函数——socket_connect_server(void),从字⾯的意思上来看,⼤家都应该明⽩这个函数是⼲嘛的吧?没错,它是⽤来创建套接字并连接SMTP服务器的。

使用cdo组件发送邮件

使用cdo组件发送邮件

〈 %
’This code assumes the above CDO
’instantiation code is included
objCDO.To = "mitchell@"
objCDO.From = "gates@"
在ASP中创建CDO组件实例的代码如下:
〈 %
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
% 〉
现在可以发送邮件了!CDONTS.NewMail实例有一些明显而且简单的属性与方法,下面来看看相关的代码:
在ASP中创建CDO组件实例的代码如下:
<%
Dim objCDO
Set objCDO = Server.CreateObject("CDONTS.NewMail")
%>
现在可以发送邮件了!CDONTS.NewMail实例有一些明显而且简单的属性与方法,下面来看看相关的代码:
<%
’This code assumes the above CDO
“emailaddress@ (Name)” ,其中括号中的表示发送邮件人的名字。这样,收到邮件的人John Doe将会看到邮件来自Jane Doe,而不是me@。
这里使用的新的方法是AttachFile。正如方法的名字所示,它表示在要发送的邮件上附加一个文件。它接受3个参数,但这里只需要讨论前2个。第1个参数表示附件的文件,在这个例子中是\\server\jane\resume.doc;第2个参数是可选则的,表示附件在邮件中的命名,这里是“Resume.doc”,但你可以选择更好听些的名字(比如叫做:“Janes Nifty Resume”)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

发送邮件源代码E-mail是Internet/Intranet网上通信的最主要的方式之一,充分利用E-mail的功能可以极大地提高企业的工作效率,减轻用户的工作负担。

Windows95中提供了一个名为Exchange的电子邮件客户程序,它包含了收件箱、发件箱、收发消息、消息优先级等功能,广泛支持超文本消息、收发传真和Internet邮件等内容,可以在LAN、Microsoft Fax、远程邮件、Internet等多种软件环境中工作。

在VFP、VB开发的应用系统中结合Exchange的邮件服务功能,可以使您的应用系统功能更强大、服务更完善、使用更方便。

下面介绍VB、VFP的MAPI 控件以及在VB、VFP应用系统中使用这些控件收发E-mail的方法。

一.MAPI控件概述MAPI(通信应用程序接口)控件,即MSMAPI32.OCX,包括两个OLE 控件:MAPISession(MAPI工作期)控件和MAPIMessage(MAPI消息)控件。

MAPISession控件的功能是负责建立会话、取消会话的一个MAPI工作期。

MAPIMessage控件则提供了发送、接收等所有对电子邮件进行处理的功能。

MAPISession控件用来注册一个新工作期和注销当前工作期。

注册时,首先用MAPISession控件的SignOn方法建立与E-mail服务器的会话连接,显示完注册对话框后,SessionID属性包含了刚注册的MAPISession 的句柄。

此句柄最终必须传递给MAPIMessage控件,在结束当前MAPISession工作期之前,必须先注销该工作期。

然后再用MAPIMessage 控件的SessionID属性同有效的会话联系起来,执行一系列消息系统函数,实现收发邮件的功能。

二.MAPI控件的主要属性(1)MAPISession控件的属性:Action属性:当MAPISession控件被激活时,该属性将决定执行什么操作。

LogonUI属性:该属性指定是否显示注册对话框。

当其值为“真”时,则出现一个对话框提示新用户输入用户名和口令;当其值为“假”时,则不显示对话框。

SessionID属性:返回当前的消息会话句柄。

指定SignOn方法时,可以设置该属性的值。

使用MAPIMessage控件处理消息时,需要使用此会话句柄,其缺省值为0。

SignOn方法:将用户登录到UserName和Password属性所指定的帐户中,并将会话句柄存储到属性SessionID中。

SignOff方法:结束消息会话,从UserName和Password属性所指定的帐户中退出。

(2)MAPIMessage控件的属性:Action属性:当MAPIMessage控件被激活时,该属性决定将执行什么操作。

SessionID属性:存储由MAPISession控件的SessionID属性返回的消息会话句柄。

FetchSorted属性:在用收件箱中的消息填充消息集合时,指定或返回消息的排序。

当其值为“真”时,按接收消息的顺序向消息集合添加消息;当其值为“假”时,由用户收件箱中的排序添加消息。

FetchUnreadOnly属性:决定是否将消息集合中的消息限定为未读消息。

当其值为“真”时,只向消息集合添加FetchMsgType属性指定的未读消息;当其值为“假”时,添加收件箱中适当类型的全部消息。

MsgCount属性:用于在消息工作期间返回存在于消息设置中的消息的总数。

MsgIndex属性:指定当前索引消息的索引编号。

在索引改变时,所有消息的其它属性也随之改变,以反映索引消息的特征。

索引号的范围是从-1到MsgCount-1。

MsgOrigDisplayName属性:返回当前索引消息的原始发件人的名字。

MsgOrigAddress属性:返回当前索引消息的原始发件人的邮件地址。

RecipDisplayName、RecipAddress、MsgSubject、MsgNoteText 属性:分别指定当前索引的收件人姓名、收件人的邮件地址、主题、文本行,构成一条完整的消息。

Send方法:发送一条消息。

它带有一个参数nDialog,当nDialog 为“真”时,显示Exchange邮件系统的操作界面,由用户输入消息的各个部分,并将消息提交邮件服务器传送;当nDialog为“假”时,则不显示相应的操作界面,而将消息提交给邮件服务器。

Reply方法:响应一个消息。

将当前索引的消息复制到构成缓冲区中,并将RE:加入标题行的开始,同时将MsgIndex属性设置为-1。

Delete方法:删除一个消息、收件人或附件。

Compose方法:构成一条消息。

Fetch方法:由收件箱中选择的消息创建一个消息集合。

三.应用实例★应用实例一:用VB5.0的MAPI控件收发邮件。

1.插入MAPI控件的方法:在VB5.0主菜单的“工程”项中选择“部件(0)”,在弹出的控件栏中,双击“Microsoft MAPI Control5.0”项,按“确定”键返回。

那么,在窗体工具箱中就有了上述控件。

2.建立含有如下控件的窗体:控件NAME CAPTION主窗体frmMail用VB5.0的MAPI控件收发邮件MAPISession控件MailSessMAPIMessage控件MailMess命令按钮cmdNewMail发件箱命令按钮cmdGetMail收件箱命令按钮cmdExit退出子窗体frmNewMail发件箱标签label1收件人:标签label2主题:文本框TEXT1&#39;输入收件人的电子邮件地址文本框TEXT2&#39;输入文本的主题文本框TEXT3&#39;输入文本内容命令按钮MailSend发送邮件子窗体frmGetMail收件箱标签label1发件人:标签label2主题:文本框TEXT1&#39;发件人的电子邮件地址文本框TEXT2&#39;发来的文本主题文本框TEXT3&#39;发来的文本内容命令按钮cmdPrevious向前命令按钮cmdNext向后输入主窗体“发件箱”按钮的程序代码: Private Sub cmdNewMail_Click() frmNewMail.ShowEnd Sub输入主窗体“收件箱”按钮的程序代码: Private Sub cmdGetMail_Click() frmGetMail.ShowEnd Sub输入主窗体“退出”按钮的程序代码: Private Sub cmdExit_Click()frmMail.MailSess.SignOff&#39;断开连接EndEnd Sub输入frmNewMail子窗体“发送邮件”按钮的程序代码: Private Sub MailSend_Click()frmMail.MailSess.SignOn&#39;建立连接frmMail.MailMess.SessionID=frmMail.MailSess.SessionID frmMail.MailMess.MsgIndex=-1frmMail.MailMess.RecipDisplayName=Text1.Text frmMail.MailMess.MsgSubject=Text2.TextfrmMail.MailMess.MsgNoteText=Text3.TextfrmMail.MailMess.Send(False)frmMail.MailSess.SignOffEnd Sub输入frmGetMail子窗体装入的程序代码:Private Sub Form_Load()Dim mailIndex,mailCounts As IntegerfrmMail.MailSess.SignOnfrmMail.MailMess.SessionID=frmMail.MailSess.SessionID frmMail.MailMess.FetchSorted=TruefrmMail.MailMess.FetchUnreadOnly=TruefrmMail.MailMess.Action=1mailCounts=frmMail.MailMess.MsgCountIf mailCounts=0ThenText3.Text=&quot;收件箱中没有邮件!&quot; frmGetMail.cmdPrevious.Enabled=FalsefrmGetMail.cmdNext.Enabled=FalseElsefrmGetMail.MailMess.MsgIndex=0frmGetMail.Text1.Text=frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text=frmMail.MailMess.MsgSubject frmGetMail.Text3.Text=frmMail.MailMess.MsgNoteText End IfEnd Sub输入frmGetMail子窗体“向前”按钮的程序代码:Private Sub cmdPrevious_Click()mailIndex=frmGetMail.MailMess.MsgIndexfrmGetMail.MailMess.MsgIndex=mailIndex-1 frmGetMail.Text1.Text=frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text=frmMail.MailMess.MsgSubject frmGetMail.Text3.Text=frmMail.MailMess.MsgNoteTextIf mailIndex=0ThenfrmGetMail.cmdPrevious.Enabled=FalseEnd IfEnd Sub输入frmGetMail子窗体“向后”按钮的程序代码:Private Sub cmdNext_Click()mailCounts=frmGetMail.MailMess.MsgCount-1 mailIndex=frmGetMail.MailMess.MsgIndexfrmGetMail.MailMess.MsgIndex=mailIndex+1 frmGetMail.Text1.Text=frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text=frmMail.MailMess.MsgSubject frmGetMail.Text3.Text=frmMail.MailMess.MsgNoteTextIf mailIndex=mailCounts ThenfrmGetMail.cmdNext.Enabled=FalseEnd IfEnd Sub。

相关文档
最新文档