




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录1.前言11.概 述12.电子邮件发送协议与技术22.1 SMTP协议简介及通讯模型22.2 javamail API的简介33.概要设计43.2系统模块结构53.3类的功能设计53.3.1 用户登入类53.3.2 邮件发送类63.4邮件发送流程图74.功能模块的实现84.1 程序主界面的实现84.2邮件发送的实现95.程序测试115.1 主界面测试115.2发送电子邮件程序测试11参考文献15附录1:EmailClient类16附录2:MainSender类221.前言1.概 述电子邮件(简称E-mail)又称电子信箱、电子邮政,它是一种用电子手段提供信息交换的通信方式。它是全球多种网
2、络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是一个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mail不止局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,扔可将邮件立刻送到对方的信箱内,且存储
3、在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。1.2 国内现状电子邮件E-mail是Internet最基本的和最重要的服务之一。据统计,Internet上百分之三十以上的业务量是电子邮件。由于我国的通讯基础设施较差,网络速度较慢,因而,与Internet其它功能如WWW、FTP、NEWS等相比,电子邮件服务具有更大的实用性。CINNIC中国互联网络发展状况统计报告中指出。71.65%的中国用户最常使用的网络服务就是电子邮件,这个比例远远高于搜索引(50.40%)和软件上传或下载服务(44.16%)等其他服务。2.电子邮件发送协议与技术2.1 SMTP协议简介及通讯模型&
4、#160;(SMTP:Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。SMTP协议属于TCPIP协议族,它帮助每台计算机在发送或中转信件
5、时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把Email寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转你发出的电子邮件。SMTP 是一种提供可靠且有效电子邮件传输的协议。SMTP是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。SMTP 独立于特定的传输子系统,而且仅要求一条可以保证传送数据单元顺序的通道且只需要可靠有序的数据流信道支持。SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主
6、机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。SMTP在传输文件过程中使用25号端口可大致用下面的图2-1来表示:用户发送SMTP文件系统接收SMTP文件系统SMTP命令邮件内容 应答 图2-1 SMTP通信模型2.2 javamail
7、API的简介一般情况下,在eclipse中,电子邮件程序的编写是主要是利用Java jdk1.7扩展包JavaMailAPI等及相关的SMTP等通信协议来实现的。随着现代软件业的发展,java提供了方便、简易、与服务器无关且稳固的电子邮件处理组件,使我们可以在程序开发语言中调用这些组件,利用很简单的语言实现功能强大的程序。JavaMail便是一个很好的电子邮件程序开发扩展组件。JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail、MS Outlook Express一般的邮件用户代理程序(Mail User Agent,简称MUA)。而不是
8、像sendmail或者其它的邮件传输代理(Mail Transfer Agent,简称MTA)程序那样可以传送、递送、转发邮件。从另外一个角度来看,我们这些电子邮件用户日常用MUA程序来读写邮件,而MUA依赖着MTA处理邮件的递送。JavaMail核心类:Session、Message、Address、Authenticator、Transport、Store、Folder。Session类:定义了基本的邮件会话。就像Http会话那样,我们进行收发邮件的工作都是基于这个会话的。Session对象利用了java.util.Properties对象获得了邮件服务器、用户名、密码信息和整个应用程序都
9、要使用到的共享信息。Message类:当我们建立了Session对象后,便可以被发送的构造信息体了。在这里SUN提供了Message类型来帮助开发者完成这项工作。由于Message是一个抽象类,大多数情况下,我们使用ernet.MimeMessage这个子类,该类是使用MIME类型、MIME信息头的邮箱信息。信息头只能使用US-ASCII字符,而非ASCII字符将通过编码转换为ASCII的方式使用。Address类:到这里,我们已经建立了Session和Message,下面将介绍如何使用邮件地址类:Address。像Message一样,Address类也是一个抽象类
10、,所以我们将使用ernet.InternetAddress这个子类。Authenticator类:像类那样,JavaMail API通过使用授权者类(Authenticator)以用户名、密码的方式访问那些受到保护的资源,在这里“资源”就是指邮件服务器。在javax.mail包中可以找到这个JavaMail的授权者类(Authenticator)。Transport类:在发送信息时,Transport类将被用到。这个类实现了发送信息的协议(通称为SMTP),此类是一个抽象类,我们可以使用这个类的静态方法send()来发送消息:Transport.send(messa
11、ge);Store和Folder类:接收邮件和发送邮件很类似都要用到Session。但是在获得Session后,我们需要从Session中获取特定类型的Store,然后连接到Store,这里的Store代表了存储邮件的邮件服务器。在连接Store的过程中,极有可能需要用到用户名、密码或者Authenticator。3.概要设计3.1 系统的总体结构框图(类图)EmailSender在程序中绑定发件人,收件人地址,标题,正文,附件验证成功后,根据所填写的地址,每间隔一秒.将邮件发送到各个目的邮箱验证成功后,自动填写附件名,将附件封包,根据所填写的地址,将邮件发送到目的邮箱验证成功后,根据所填写的
12、地址,将邮件发送到目的邮箱PropertiesPasswordAuthentication使用的pop和stmp服务器以及将账号密码进行登陆验证catch (Exception e)检查错误,.如有错误,提交错误报告有多个目的地址只有一个目的地址有附件EmailClinet填写发件人和收件人地址,标题,正文,附件,图3-1 系统的总体结构框图每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。我使用新浪免
13、费提供的POP服务,直接使用注册的账号密码登陆服务器向目的地址发送邮件。POP 协议具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或 MAC。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。3.2系统模块结构电子邮件客户端主要由以下两个模块构成:发送邮件模块、用户登入。其功能模块如图2-1所示:电子邮件发送端程序用户登入发送邮件 图3-2 系统功能模块图1)用户登入:当邮箱跟密码正确的时候才可以登入进去。2)发送邮件模块:
14、邮件正文写好后然后点发送。 3.3类的功能设计3.3.1 用户登入类关键变量:private JPanel mailPanel = new JPanel();private JPanel passwordPanel=new JPanel();private JPanel mailLoginPanel;private JComboBox jComboBox;private JLabel maitLabel;private JLabel mailPasswordLable;private JTextField mailText;private JPasswordField passwordText
15、;。关键方法:String mail=mailText.getText();String password=passwordText.getText();3.3.2 邮件发送类关键变量:private JLabel subject;/邮件主题private JLabel mainContent;/邮件正文private JLabel address;/目的邮箱private JTextField subjectText;private JTextArea contentText;private JTextArea addText;private JPanel subjectPanel;priv
16、ate JPanel contentPanel;private JPanel addressPanel;private JButton sendButton;private JButton sendSuccess;private JButton sendAgain;关键方法: public static void send(String mail,String password,String receivers, String subject, String mailContent, String mimetype) send(receivers, subject, mailContent,
17、mimetype); public static void send(String receiver, String subject, String mailContent, String mimetype) send(new Stringreceiver, subject, mailContent, mimetype); public static void send(String receivers, String subject, String mailContent, String mimetype) send(receivers, subject, mailContent, null
18、, mimetype); 3.4邮件发送流程图邮件发送流程图如图3-4,发送邮件时会对邮件以及账号进行处理和验证。当账号跟密码都符合的时候,然后点击发送,邮件就发出去了。假如账号跟密码不正确的话,邮件就发送失败。密码发送发送成功密码正确发送失败密码不正确邮箱图3-4 邮件发送流程图4.功能模块的实现4.1 程序主界面的实现本次设计中,主要用到对话框Java图形界面。Java图形界面是实现应用程序人机交互的重要组成部分。它不但可以实现数据流的输入和输出,而且也可以移动和关闭对话框。主界面有对应的按钮,方便用户使用。 关键代码如下:首先构造客户端面板,定义以下几个需要的界面和按钮maitLabel
19、=new JLabel("邮箱");mailPasswordLable=new JLabel("密码");subject=new JLabel("邮件主题");mainContent=new JLabel("邮件正文");address=new JLabel("目的邮箱");sendButton=new JButton("发送");其次将其安排到客户端面板上相应位置container.add(mailLoginPanel,BorderLayout.NORTH);contain
20、er.add(contentPanel,BorderLayout.CENTER);container.add(addressPanel,BorderLayout.SOUTH);设置面板背景颜色contentPanel.setBackground(Color.yellow);addressPanel.setBackground(Color.yellow);图4-1 程序主界面实现图4.2邮件发送的实现首先进入主界面,在主界面输入邮箱、密码、邮件主题、邮件正文和目的邮箱,然后点发送,假如邮箱账号跟密码都正确的话就可以发送邮件,否则就发送不成功,如图所示。1)获取收件人账号(程序会检测输入账号合法性
21、)。 关键代码:String mail=mailText.getText();String password=passwordText.getText();/ SMTP服务器需要验证:props.put("mail.smtp.host", "");/Smtpprops.put("mail.smtp.auth", "true");2)获取账号设置界面中用户输入的账号和密码传入服务器。关键代码:/ 传入用户名和口令:Session session = Session.getDefaultInstance(props,
22、new Authenticator() protected PasswordAuthentication getPasswordAuthentication() return new PasswordAuthentication("wangxy070421","880722");session.setDebug(true);3)邮件发送成功的提示关键代码:sendSuccess=new JButton("发送成功!");sendSuccess.setBackground(Color.red);sendSuccess.setVisibl
23、e(false);图4-2 邮件发送的实现图5.程序测试5.1 主界面测试本次设计中,主要用到对话框Java图形界面。Java图形界面是实现应用程序人机交互的重要组成部分。它不但可以实现数据流的输入和输出,而且也可以移动和关闭对话框。主界面有对应的按钮,方便用户使用, 如图所示。图5-1主界面测试5.2发送电子邮件程序测试在上一步已经测试了账号输入,然后再收件人地址输入框中输入“”。接下来在主题输入框中输入“邮件测试”,正文中输入“<b>邮件测试</b><br>余辉 1008041113”,最后点击发送,当邮件发送成功会在发送旁边返回“发送成功”的信息。如图
24、为测试邮件发送成功。图5-2(a)发送电子邮件程序测试面图5-2(b)发送电子邮件程序测试面6.总结这次课程设计我做的是邮件发送程序,我主要利用java语言和MyEclipse工具来实现邮件的几个主要功能,包括标题,正文,附件以及多方发送等,通过自我学习,以及在老师的辅导下顺利实现使用代码发送邮件功能.完成一次从理论向实践的过程,找到了一些自己在平时学习中的不足和问题.由于程序实行较为复杂,所以应该在一开始时做好规划,画好流程图,做好大体框架,然后再逐一细化,再把各个模块联系起来.一定要做好步步扎实,否则容易因为例如封装问题等造成的混乱总体实行流程是1. 写好邮件内容2. 通过两种协议,即SM
25、TP(Simple Mail Transfer Protocol,简单邮件传输协议)和POP3(Post Office Protocol,邮局协议3),使用实现注册好的邮件账号和密码进行登陆和验证3. 验证成功后,将之前写好的邮件通过服务器发送到目的地址4. 发送成功,否则返回错误报告这次课程设计也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。因此非常感谢老师的教导。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努
26、力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名网络工程专业的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。靠着这一个多礼拜的“学习”,在老师同学的帮助和讲解下,自己开始主动学习并逐步从基础慢慢开始弄懂它。在这次课程设计作业的过程中由于在设计方面我缺少经验,理论基础知识掌握得不牢固,在设计中难免会出现这样那样的问题,如:确定设计方案时,在附件名选择模块中“卡住了”,再次,在一些细节方面比较薄弱,出错检测模块,服务器验证等方面都遇到了困难,在同学的帮助下逐步解决了。这些都暴露出了前期我在这些方面知识的欠缺和经验的不足。对于我来说,收获最大的是方法和
27、能力;那些分析和解决问题的能力。在整个课程设计的过程中,我发现我在经验方面十分缺乏,有时候空有理论知识,没有理性的知识;有些东西可能与实际脱节。总体来说,我觉得像课程设计这种类型对我们的帮助还是很大的,它需要我们将学过的相关知识系统地联系起来,从中暴露出自身的不足,以待改进!致 谢感谢我的指导老师陈涛老师,本次论文的每个细节和每个数据,都离不开他的细心指导。陈老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪。无论在理论上还是在实践中,陈老师都给了我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助。另外,在系统开发过
28、程中同学也给予我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,这里一并表示感谢。 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有许多可敬的师长、同学、朋友给了我无私的帮助,在这里请接受我诚挚的谢意!最后祝各位老师工作顺利、身体健康!参考文献1谢希仁.计算机网络.第五版M.北京:电子工业出版社,2008.12耿祥义,张跃平.Java大学实用教程.第二版M.北京:电子工业出版社,2005.53王勇,代桂平.计算机网络课程设计M.北京:清华大学出版社,2009.64耿祥义,张跃平.Java大学实用教程学习指导.第二版M.北京:电子工业出版社,2005.55.(美
29、)埃史尔 .Java编程思想(第4版). 机械工业出版社.20076 陈海山.深入Java Servlet 网络编程M.北京:清华大学出版社,2002.2 7 Karl Moss. Java Servlet开发人员指南M.北京:清华大学出版社,20028 Liang, Y.D. Java语言程序设计基础篇.机械工业出版社,20069 刘晓华. 精通Java核心技术.电子工业出版社,2003附录1:EmailClient类功能:该类是实现系统界面的类。import java.awt.BorderLayout;import java.awt.Color;import java.awt.C
30、ontainer;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JComponent;import javax.swing.JFrame;import javax.swing.JInternalFrame
31、;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextArea;import javax.swing.JTextField;public class EmailClient extends JFrameprivate JLabel subject;/邮件主题private JLabel mainContent;/邮件正文private JLabel fujian;/附件private JLabel address;/目的邮箱pr
32、ivate JTextField subjectText;private JTextArea contentText;private JTextArea addText;private JPanel subjectPanel;private JPanel contentPanel;private JPanel addressPanel;private JButton sendButton;private JButton sendSuccess;private JButton sendAgain;/发送者邮箱和密码private JPanel mailPanel = new JPanel();p
33、rivate JPanel passwordPanel=new JPanel();private JPanel mailLoginPanel;private JComboBox jComboBox;private JLabel maitLabel;private JLabel mailPasswordLable;private JTextField mailText;private JPasswordField passwordText;/构造方法public EmailClient()super("邮件群发器");this.setSize(550, 600);/获取面板C
34、ontainer container=getContentPane();/发件人邮箱maitLabel=new JLabel("邮箱");mailPasswordLable=new JLabel("密码");mailText=new JTextField(10);passwordText=new JPasswordField(10);mailLoginPanel=new JPanel();mailLoginPanel.setBackground(Color.yellow);mailLoginPanel.setLayout(new GridLayout(3
35、,4);mailLoginPanel.add(mailPanel);mailLoginPanel.add(passwordPanel);/邮件主题subject=new JLabel("邮件主题");subjectText=new JTextField("", 10);subjectPanel=new JPanel(new FlowLayout();subjectPanel.add(subject);subjectPanel.add(subjectText);mailLoginPanel.add(new JLabel("");mail
36、LoginPanel.add(maitLabel);mailLoginPanel.add(mailText);mailLoginPanel.add(new JLabel("");mailLoginPanel.add(new JLabel("");mailLoginPanel.add(mailPasswordLable);mailLoginPanel.add(passwordText);mailLoginPanel.add(new JLabel("");mailLoginPanel.add(new JLabel(""
37、);mailLoginPanel.add(subject);mailLoginPanel.add(subjectText);mailLoginPanel.add(new JLabel("");/邮件正文mainContent=new JLabel("邮件正文");contentText=new JTextArea(18,23);contentText.setFont(new Font("Serif",Font.PLAIN,14);contentText.setLineWrap(true);contentText.setEditable
38、(true);contentPanel=new JPanel();contentPanel.add(mainContent);contentPanel.add(contentText);/目的邮箱address=new JLabel("目的邮箱");addText=new JTextArea(5,25);addressPanel=new JPanel();/发送成功提示sendSuccess=new JButton("发送成功!");sendSuccess.setBackground(Color.red);sendSuccess.setVisible(f
39、alse);/重新发送sendAgain=new JButton("再写一封");Handler handler=new Handler();sendAgain.addActionListener(handler);sendAgain.setBackground(Color.blue);sendAgain.setVisible(false);/发送按钮sendButton=new JButton("发送");sendButton.addActionListener(handler);addressPanel.add(sendSuccess,BorderL
40、ayout.NORTH);addressPanel.add(sendAgain,BorderLayout.NORTH);addressPanel.add(address,BorderLayout.SOUTH);addressPanel.add(addText,BorderLayout.SOUTH);addressPanel.add(sendButton,BorderLayout.SOUTH);/设置底板颜色subjectPanel.setBackground(Color.yellow);contentPanel.setBackground(Color.yellow);addressPanel.
41、setBackground(Color.yellow);/将组件添加到面板上container.add(mailLoginPanel,BorderLayout.NORTH);container.add(contentPanel,BorderLayout.CENTER);container.add(addressPanel,BorderLayout.SOUTH);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);/绑定事件private class Handler implements ActionListenerpublic vo
42、id actionPerformed(ActionEvent e) / TODO Auto-generated method stub;if(e.getSource()=sendButton)/获取邮件内容Thread2 t=new Thread2();t.start();else if(e.getSource()=sendAgain)subjectText.setText("");contentText.setText("");sendSuccess.setVisible(false);sendAgain.setVisible(false);publi
43、c static void main(String args) EmailClient emailClient=new EmailClient();System.out.println("sdsdf");class Thread2 extends Threadpublic void run()String subject=subjectText.getText();String content=contentText.getText();String address=addText.getText();String mail=mailText.getText();Strin
44、g password=passwordText.getText();if(address!=null)String adds=address.split("");EmailSender.send(mail,password,adds, subject, content, "text/html");/发送完毕sendSuccess.setVisible(true);sendAgain.setVisible(true);System.out.println("发送完毕!");elseaddText.setText("没有写邮件地
45、址地址");附录2:MainSender类功能:实现邮件发送等主要功能import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Properties;import javax.activation.DataHandler;import javax.activation.FileDataSource;import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.Multi
46、part;import javax.mail.PasswordAuthentication;import javax.mail.Session;import javax.mail.Transport;import ernet.InternetAddress;import ernet.MimeBodyPart;import ernet.MimeMessage;import ernet.MimeMultipart;import ernet.MimeUtilit
47、y;import javax.swing.plaf.SliderUI;public class EmailSender private static final String charset = "GBK" private static final String defaultMimetype = "text/plain" public static void main(String args) throws Exception / EmailSender.send(new String"wp0905070417", "&q
48、uot;, "",null , "text/html"); sendByoneSecond(new String"yuhui", "", "",null , "text/html"); /* * 每隔1秒发送一个封邮件 * author weiping */ public static void sendByoneSecond(String adds,String title,String content,File files,String contentType) if(a
49、dds!=null&&adds.length>0) for (int i = 0; i < adds.length; i+) try Thread.sleep(1000); catch (InterruptedException e) / TODO Auto-generated catch blocke.printStackTrace(); EmailSender.send(new Stringaddsi, title, content, files,contentType); public static void send(String mail,String p
50、assword,String receivers, String subject, String mailContent, String mimetype) send(receivers, subject, mailContent, mimetype); public static void send(String receiver, String subject, String mailContent, String mimetype) send(new Stringreceiver, subject, mailContent, mimetype); public static void s
51、end(String receivers, String subject, String mailContent, String mimetype) send(receivers, subject, mailContent, null, mimetype); public static void send(String receivers, String subject, String mailContent, File attachements, String mimetype) Properties props = new Properties(); props.put("mail.smtp.host", "");/Smtp props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new Authenticator() protected PasswordAuthentication getPasswordAuthentication() return new Pas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教材解析水利水电工程试题及答案
- 五年级心理健康成长教育
- 物理学原理在工程中的应用知识集萃
- 高尔夫运动基础技能培训指南
- 教育科技产品研发合同
- 探索市政工程考试领域的试题及答案
- 企业临时用工劳动合同
- 经济师中级考试重要试题及答案提醒
- 物理实验答辩报告设计规范
- 学习“铸牢中华民族共同体意识”应知应会知识竞赛测试题库
- 小满二十四节气课件
- 中医治疗失眠课件
- 处方大全完整版本
- 2024年金华浦江县粮食收储有限公司招聘笔试参考题库附带答案详解
- 杏核破壳机的设计
- 肝性脑病的护理诊断和护理措施
- 公路水运检测师培训课件
- 出资建设厂房合同书
- 2024北京首都机场大兴国际机场招聘60人高频考题难、易错点模拟试题(共500题)附带答案详解
- 玻璃夹胶工艺
- 解分式方程50题八年级数学上册
评论
0/150
提交评论