java发邮件java 发送邮件

java发邮件  时间:2021-09-04  阅读:()

java中如何实现公司邮箱发送邮件配置

Java中可以通过Javamail API实现公司邮箱邮件发送配置,Java mail是利用现有的邮箱账户发送邮件的工具,具体步骤如如下: 1、通过JavamailAPI设置发送者邮箱用户名及密码 2、通过JavamailAPI设置邮件主题、邮件内容、附件及邮件发送时间 3、通过JavamailAPI设置发送者邮箱地址及接收者邮箱地址,接收者地址可以是多个及抄送 4、邮件的需基本元素都设置完毕后,即可通过Javamail API的发送接口执行发送操作。

java编写邮件收发程序步骤

补充回答:如果不涉及到MIME,只是收发简单文本邮件。

就会比较简单。

因为就像你说的,smtp和pop3协议就是文本格式的。

你用Socket建立连接后,就像读文件一样,一行一行的读数据,然后按照协议分析数据格式。

例如如果开始时USER那么后面可能跟的就是用户等。

就是一个字符串解析和匹配的过程。

网上好像有这类代码,自己找一个学习一下。

我以前用C在68k上作过,不是很难。

不过代码已经没有了。

你的是邮件客户端,功能类似于outlook,foxmail等,如果你能上网,就不需要邮件服务器,直接用自己的邮件账号来测试,例如如果你有一个sina的邮件账户,就可以从sina服务器收发邮件。

不过为了测试方便,还是上网去收一个邮件服务器把。

例如foxmail server等。

网上有教程,可以配置好的。

对于编程,既然要求用socket编写,那么就要熟悉java的socket编程,这部分倒是很简单。

可能还需要看看多线程部分。

另外,你需要学习一下, smtp和pop3这两个网络协议的内容,因为你需要解析这两个协议。

如果需要收发代附件的,还需要看mime的内容,不过估计不需要。

其实java有自己的类库javamail,可以实现手法邮件,功能很强大。

不过既然要求必须用socket,那就不能这个了。

说的太罗嗦了。

总结一下: 1)配置邮件服务器,搭建测试环境 2)熟悉java的socket编程、 Swing编程(编写界面)、多线程(选用) 3)熟悉smtp和pop3的内容(内容很多,了解基本的就可以) 网上应该有类似代码,可以用来参考。

java实现发送邮件功能

要实现邮件发送功能需要导入包:mail.jar /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ .demo.action; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import Address; import .MimeMessage; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; .apache.struts.action.Action; .apache.struts.action.ActionForm; .apache.struts.action.ActionForward; .apache.struts.action.ActionMapping; .demo.form.DemoForm; public class DemoAction extends Action { private static final String CONTENT_TYPE = "test/html;charset=GB2312"; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DemoForm demoForm = (DemoForm) form; System.out.println("标题是" + demoForm.getBiaoti()); System.out.println("内容是" + demoForm.getNeirong()); try { response.setContentType(CONTENT_TYPE); String smtphost = ""; // 发送邮件服务器 String user = "q0000015369"; // 邮件服务器登录用户名 String password = "Queshuwen26"; // 邮件服务器登录密码 String from = "q0000015369@"; // String to = "c0000016205@"; // 收件人邮件地址 String subject = demoForm.getBiaoti(); // 邮件标题 String body = demoForm.getNeirong(); // 邮件内容 Properties props = new Properties(); props.put("mail.smtp.host", smtphost); props.put("mail.smtp.auth", "true"); Session ssn = Session.getInstance(props, null); MimeMessage message = new MimeMessage(ssn); Address fromAddress = new Address(from); message.setFrom(fromAddress); Address toAddress = new Address(to); message.addRecipient(Message.RecipientType.TO, toAddress); message.setSubject(subject); message.setText(body); Transport transport = ssn.getTransport("smtp"); transport.connect(smtphost, user, password); transport.sendMessage(message, message .getRecipients(Message.RecipientType.TO)); // transport.send(message); transport.close(); return mapping.findForward(""); } catch (Exception e) { e.printStackTrace(); return mapping.findForward("fail"); } } }

怎么用JAVA实现邮件发送

一个小例子,也可使用其他api import?java.util.Properties; import?javax.mail.Address; import?javax.mail.Authenticator; import?javax.mail.BodyPart; import?javax.mail.Message; import?javax.mail.Multipart; import?javax.mail.PasswordAuthentication; import?javax.mail.Session; import?javax.mail.Transport; import?Address; import?.MimeBodyPart; import?.MimeMessage; import?.MimeMultipart; import?.MimeUtility; public?class?Test?{ //?test public?static?void?main(String[]?args)?throws?Exception?{ sendEmail("",?"测试",?"测试",?"!!!收件人地址!!!",?"!!!发件人邮箱用户名!!!",?"!!!邮箱密码!!!",?"发件人昵称"); } /** ?*? ?*?@param?smtp ?*?@throws?Exception? ?*/ public?static?void?sendEmail(String?emailServer,?String?subject,?String?mailBody,?String?receiver,?final?String?username,?final?String?password,?String?nickname)?throws?Exception?{ Properties?props?=?new?Properties(); props.put("mail.smtp.auth",?"true"); props.setProperty("mail.transport.protocol",?"smtp"); props.setProperty("mail.smtp.host",?emailServer); props.setProperty("mail.smtp.socketFactory.class",?".ssl.SSLSocketFactory"); props.setProperty("mail.smtp.socketFactory.fallback",?"false"); props.setProperty("mail.smtp.port",?"465"); props.setProperty("mail.smtp.socketFactory.port",?"465"); Session?session?=?Session.getDefaultInstance(props,?new?Authenticator()?{ protected?PasswordAuthentication?getPasswordAuthentication()?{ return?new?PasswordAuthentication(username,?password); } }); session.setDebug(true); MimeMessage?mimeMsg?=?new?MimeMessage(session); Multipart?mp?=?new?MimeMultipart(); mimeMsg.setSubject(MimeUtility.encodeText(subject,?"utf-8",?null)); nickname?=?MimeUtility.encodeText(nickname,?"utf-8",?null); mimeMsg.setFrom(new?Address(username,?nickname,?"UTF-8")); BodyPart?bp?=?new?MimeBodyPart(); bp.setContent(mailBody,?"text/html;charset=utf-8"); mp.addBodyPart(bp); mimeMsg.setRecipients(Message.RecipientType.TO,?Address.parse(receiver)); mimeMsg.setContent(mp); mimeMsg.saveChanges(); Transport?transport?=?session.getTransport(); transport.connect(username,?password); Address[]?allRecipients?=?mimeMsg.getAllRecipients(); transport.sendMessage(mimeMsg,?allRecipients); transport.close(); } }

java 发送邮件 需要哪些jar包

使用JavaMail发送邮件需要用到mail.jar和activtion.jar两个包。

该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人。

下面是具体的代码: .cgw.util.mail;?? import?java.util.Properties;?? import?javax.activation.DataHandler;?? import?javax.activation.FileDataSource;?? import?javax.mail.Address;?? import?javax.mail.BodyPart;?? import?javax.mail.Message;?? import?javax.mail.Multipart;?? import?javax.mail.Session;?? import?javax.mail.Transport;?? import?Address;?? import?.MimeBodyPart;?? import?.MimeMessage;?? import?.MimeMultipart;?? public?class?Mail?{??? ????private?MimeMessage?mimeMsg;?//MIME邮件对象??? ????private?Session?session;?//邮件会话对象??? ????private?Properties?props;?//系统属性??? ????private?boolean?needAuth?=?false;?//smtp是否需要认证??? ????//smtp认证用户名和密码??? ????private?String?username;??? ????private?String?password;??? ????private?Multipart?mp;?//Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象??? ????/**? ?????*?Constructor? ?????*?@param?smtp?邮件发送服务器? ?????*/?? ????public?Mail(String?smtp){??? ????????setSmtpHost(smtp);??? ????????createMimeMessage();??? ????}??? ????/**? ?????*?设置邮件发送服务器? ?????*?@param?hostName?String?? ?????*/?? ????public?void?setSmtpHost(String?hostName)?{??? ????????System.out.println("设置系统属性:mail.smtp.host?=?"+hostName);??? ????????if(props?==?null)?? ????????????props?=?System.getProperties();?//获得系统属性对象???? ????????props.put("mail.smtp.host",hostName);?//设置SMTP主机??? ????}??? ????/**? ?????*?创建MIME邮件对象??? ?????*?@return? ?????*/?? ????public?boolean?createMimeMessage()??? ????{??? ????????try?{??? ????????????System.out.println("准备获取邮件会话对象!");??? ????????????session?=?Session.getDefaultInstance(props,null);?//获得邮件会话对象??? ????????}??? ????????catch(Exception?e){??? ????????????System.err.println("获取邮件会话对象时发生错误!"+e);??? ????????????return?false;??? ????????}??? ????????System.out.println("准备创建MIME邮件对象!");??? ????????try?{??? ????????????mimeMsg?=?new?MimeMessage(session);?//创建MIME邮件对象??? ????????????mp?=?new?MimeMultipart();??? ????????????return?true;??? ????????}?catch(Exception?e){??? ????????????System.err.println("创建MIME邮件对象失败!"+e);??? ????????????return?false;??? ????????}??? ????}????? ????/**? ?????*?设置SMTP是否需要验证? ?????*?@param?need? ?????*/?? ????public?void?setNeedAuth(boolean?need)?{??? ????????System.out.println("设置smtp身份认证:mail.smtp.auth?=?"+need);??? ????????if(props?==?null)?props?=?System.getProperties();??? ????????if(need){??? ????????????props.put("mail.smtp.auth","true");??? ????????}else{??? ????????????props.put("mail.smtp.auth","false");??? ????????}??? ????}??? ????/**? ?????*?设置用户名和密码? ?????*?@param?name? ?????*?@param?pass? ?????*/?? ????public?void?setNamePass(String?name,String?pass)?{??? ????????username?=?name;??? ????????password?=?pass;??? ????}??? ????/**? ?????*?设置邮件主题? ?????*?@param?mailSubject? ?????*?@return? ?????*/?? ????public?boolean?setSubject(String?mailSubject)?{??? ????????System.out.println("设置邮件主题!");??? ????????try{??? ????????????mimeMsg.setSubject(mailSubject);??? ????????????return?true;??? ????????}??? ????????catch(Exception?e)?{??? ????????????System.err.println("设置邮件主题发生错误!");??? ????????????return?false;??? ????????}??? ????}?? ????/**?? ?????*?设置邮件正文? ?????*?@param?mailBody?String?? ?????*/??? ????public?boolean?setBody(String?mailBody)?{??? ????????try{??? ????????????BodyPart?bp?=?new?MimeBodyPart();??? ????????????bp.setContent(""+mailBody,"text/html;charset=GBK");??? ????????????mp.addBodyPart(bp);??? ????????????return?true;??? ????????}?catch(Exception?e){??? ????????System.err.println("设置邮件正文时发生错误!"+e);??? ????????return?false;??? ????????}??? ????}??? ????/**?? ?????*?添加附件? ?????*?@param?filename?String?? ?????*/??? ????public?boolean?addFileAffix(String?filename)?{??? ????????System.out.println("增加邮件附件:"+filename);??? ????????try{??? ????????????BodyPart?bp?=?new?MimeBodyPart();??? ????????????FileDataSource?fileds?=?new?FileDataSource(filename);??? ????????????bp.setDataHandler(new?DataHandler(fileds));??? ????????????bp.setFileName(fileds.getName());??? ????????????mp.addBodyPart(bp);??? ????????????return?true;??? ????????}?catch(Exception?e){??? ????????????System.err.println("增加邮件附件:"+filename+"发生错误!"+e);??? ????????????return?false;??? ????????}??? ????}??? ????/**?? ?????*?设置发信人? ?????*?@param?from?String?? ?????*/??? ????public?boolean?setFrom(String?from)?{??? ????????System.out.println("设置发信人!");??? ????????try{??? ????????????mimeMsg.setFrom(new?Address(from));?//设置发信人??? ????????????return?true;??? ????????}?catch(Exception?e)?{??? ????????????return?false;??? ????????}??? ????}??? ????/**?? ?????*?设置收信人? ?????*?@param?to?String?? ?????*/??? ????public?boolean?setTo(String?to){??? ????????if(to?==?null)return?false;??? ????????try{??? ????????????mimeMsg.setRecipients(Message.RecipientType.TO,Address.parse(to));??? ????????????return?true;??? ????????}?catch(Exception?e)?{??? ????????????return?false;??? ????????}????? ????}??? ????/**?? ?????*?设置抄送人? ?????*?@param?copyto?String??? ?????*/??? ????public?boolean?setCopyTo(String?copyto)??? ????{??? ????????if(copyto?==?null)return?false;??? ????????try{??? ????????mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])Address.parse(copyto));??? ????????return?true;??? ????????}??? ????????catch(Exception?e)??? ????????{?return?false;?}??? ????}??? ????/**?? ?????*?发送邮件? ?????*/??? ????public?boolean?sendOut()??? ????{??? ????????try{??? ????????????mimeMsg.setContent(mp);??? ????????????mimeMsg.saveChanges();??? ????????????System.out.println("正在发送邮件....");??? ????????????Session?mailSession?=?Session.getInstance(props,null);??? ????????????Transport?transport?=?mailSession.getTransport("smtp");??? ????????????transport.connect((String)props.get("mail.smtp.host"),username,password);??? ????????????transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));??? ????????????transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.CC));??? ????????????//transport.send(mimeMsg);??? ????????????System.out.println("发送邮件成功!");??? ????????????transport.close();??? ????????????return?true;??? ????????}?catch(Exception?e)?{??? ????????????System.err.println("邮件发送失败!"+e);??? ????????????return?false;??? ????????}??? ????}??? ????/**? ?????*?调用sendOut方法完成邮件发送? ?????*?@param?smtp? ?????*?@param?from? ?????*?@param?to? ?????*?@param?subject? ?????*?@param?content? ?????*?@param?username? ?????*?@param?password? ?????*?@return?boolean? ?????*/?? ????public?static?boolean?send(String?smtp,String?from,String?to,String?subject,String?content,String?username,String?password)?{?? ????????Mail?theMail?=?new?Mail(smtp);?? ????????theMail.setNeedAuth(true);?//需要验证?? ????????if(!theMail.setSubject(subject))?return?false;?? ????????if(!theMail.setBody(content))?return?false;?? ????????if(!theMail.setTo(to))?return?false;?? ????????if(!theMail.setFrom(from))?return?false;?? ????????theMail.setNamePass(username,password);?? ????????if(!theMail.sendOut())?return?false;?? ????????return?true;?? ????}?? ????/**? ?????*?调用sendOut方法完成邮件发送,带抄送? ?????*?@param?smtp? ?????*?@param?from? ?????*?@param?to? ?????*?@param?copyto? ?????*?@param?subject? ?????*?@param?content? ?????*?@param?username? ?????*?@param?password? ?????*?@return?boolean? ?????*/?? ????public?static?boolean?sendAndCc(String?smtp,String?from,String?to,String?copyto,String?subject,String?content,String?username,String?password)?{?? ????????Mail?theMail?=?new?Mail(smtp);?? ????????theMail.setNeedAuth(true);?//需要验证?? ????????if(!theMail.setSubject(subject))?return?false;?? ????????if(!theMail.setBody(content))?return?false;?? ????????if(!theMail.setTo(to))?return?false;?? ????????if(!theMail.setCopyTo(copyto))?return?false;?? ????????if(!theMail.setFrom(from))?return?false;?? ????????theMail.setNamePass(username,password);?? ????????if(!theMail.sendOut())?return?false;?? ????????return?true;?? ????}?? ????/**? ?????*?调用sendOut方法完成邮件发送,带附件? ?????*?@param?smtp? ?????*?@param?from? ?????*?@param?to? ?????*?@param?subject? ?????*?@param?content? ?????*?@param?username? ?????*?@param?password? ?????*?@param?filename?附件路径? ?????*?@return? ?????*/?? ????public?static?boolean?send(String?smtp,String?from,String?to,String?subject,String?content,String?username,String?password,String?filename)?{?? ????????Mail?theMail?=?new?Mail(smtp);?? ????????theMail.setNeedAuth(true);?//需要验证?? ????????if(!theMail.setSubject(subject))?return?false;?? ????????if(!theMail.setBody(content))?return?false;?? ????????if(!theMail.addFileAffix(filename))?return?false;??? ????????if(!theMail.setTo(to))?return?false;?? ????????if(!theMail.setFrom(from))?return?false;?? ????????theMail.setNamePass(username,password);?? ????????if(!theMail.sendOut())?return?false;?? ????????return?true;?? ????}?? ????/**? ?????*?调用sendOut方法完成邮件发送,带附件和抄送? ?????*?@param?smtp? ?????*?@param?from? ?????*?@param?to? ?????*?@param?copyto? ?????*?@param?subject? ?????*?@param?content? ?????*?@param?username? ?????*?@param?password? ?????*?@param?filename? ?????*?@return? ?????*/?? ????public?static?boolean?sendAndCc(String?smtp,String?from,String?to,String?copyto,String?subject,String?content,String?username,String?password,String?filename)?{?? ????????Mail?theMail?=?new?Mail(smtp);?? ????????theMail.setNeedAuth(true);?//需要验证?? ????????if(!theMail.setSubject(subject))?return?false;?? ????????if(!theMail.setBody(content))?return?false;?? ????????if(!theMail.addFileAffix(filename))?return?false;??? ????????if(!theMail.setTo(to))?return?false;?? ????????if(!theMail.setCopyTo(copyto))?return?false;?? ????????if(!theMail.setFrom(from))?return?false;?? ????????theMail.setNamePass(username,password);?? ????????if(!theMail.sendOut())?return?false;?? ????????return?true;?? ????}?? }

java 发送邮件

要两个java文件 还有一个mail.jar是不是只能用javamail谁也不敢说 第一个: public class Constant { public static final String mailAddress ="用户名@"; public static final String mailCount ="用户名"; public static final String mailPassword ="密码"; public static final String mailServer =""; //pukeyouxintest, } 第二个: import java.util.Date; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import Address; import .MimeMessage; public class SendMail { /** * 发送简单邮件 * @param str_from:发件人地址 * @param str_to:收件人地址 * @param str_title:邮件标题 * @param str_content:邮件正文 */ public static void send(String str_from,String str_to,String str_title,String str_content) { // str_content="<a href='>html元素</a>"; //for testing send html mail! try { //建立邮件会话 Properties props=new Properties(); //用来在一个文件中存储键-值对的,其中键和值是用等号分隔的, //存储发送邮件服务器的信息 props.put("mail.smtp.host",Constant.mailServer); //同时通过验证 props.put("mail.smtp.auth","true"); //根据属性新建一个邮件会话 Session s=Session.getInstance(props); s.setDebug(true); //有他会打印一些调试信息。

//由邮件会话新建一个消息对象 MimeMessage message=new MimeMessage(s); //设置邮件 Address from= new Address(str_from); //pukeyouxintest2@ message.setFrom(from); //设置发件人的地址 // // //设置收件人,并设置其接收类型为TO Address to=new Address(str_to); //pukeyouxintest3@ message.setRecipient(Message.RecipientType.TO, to); //设置标题 message.setSubject(str_title); //java学习 //设置信件内容 // message.setText(str_content); //发送文本邮件 //你好吗? message.setContent(str_content, "text/html;charset=gbk"); //发送HTML邮件 //<b>你好</b><br><p>大家好</p> //设置发信时间 message.setSentDate(new Date()); //存储邮件信息 message.saveChanges(); //发送邮件 Transport transport=s.getTransport("smtp"); //以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码 transport.connect(Constant.mailServer,Constant.mailCount,Constant.mailPassword); //发送邮件,其中第二个参数是所有已设好的收件人地址 transport.sendMessage(message,message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { //测试用的,你吧你想写的内容写上去就行 send(Constant.mailAddress,"收件人邮箱","标题","<b>内容</b>"); } } 然后把mail.jar导入,就可以了,我用的是163 的,其他的吧相应的服务器改一下就行了

创梦网络-四川一手资源高防大带宽云服务器,物理机租用,机柜资源,自建防火墙,雅安最高单机700G防护,四川联通1G大带宽8.3W/年,无视UDP攻击,免费防CC

? ? ? ?创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川联通大带宽,四川联通高防IP,一手整CIP段,四川电信,联通高防机柜,CN2专线相关业务。成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快...

江苏云服务器 2H2G 20M 79元/月 大宽带159元/月 高性能挂机宝6元/月 香港CN2 GIA、美国200G防御 CN2 GIA 折后18元/月 御速云

介绍:御速云成立于2021年的国人商家,深圳市御速信息技术有限公司旗下品牌,为您提供安全可靠的弹性计算服务,随着业务需求的变化,您可以实时扩展或缩减计算资源,使用弹性云计算可以极大降低您的软硬件采购成本,简化IT运维工作。主要从事VPS、虚拟主机、CDN等云计算产品业务,适合建站、新手上车的值得选择,拥有华东江苏、华东山东等国内优质云产品;香港三网直连(电信CN2GIA联通移动CN2直连);美国高...

HostKvm新上联通CUVIP线路VPS,八折优惠后1G内存套餐$5.2/月起

最近上洛杉矶机房联通CUVIP线路主机的商家越来越多了,HostKvm也发来了新节点上线的邮件,适用全场8折优惠码,基于KVM架构,优惠后最低月付5.2美元起。HostKvm是一家成立于2013年的国人主机商,提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,君选择国内直连或优化线路,延迟较低,适合建站或者远程办公等。以洛杉矶CUVIP线路主机为例,...

java发邮件为你推荐
电脑手机网页浏览器可否用电脑浏览手机网页?实验室方案设计实验室设计有什么要求win10发布win10发布者不受信任怎么办 win10如何取消阻止该发布者搜索引擎有哪些搜索引擎都有什么啊路由器映射路由器映射设置nvidia官方网站官网NVIDIA驱动和win10系统不兼容,怎么解决?支付宝账单查询支付宝电子账单怎么查询招行信用卡还款招行信用卡怎么还款0x800ccc0f错误号: 0x800CCC0F 这个是虾米意思?互动电视什么是“华数互动电视”?
国外主机空间 传奇服务器租用 服务器租用托管 俄罗斯vps dns是什么 国外php主机 ixwebhosting realvnc 京东云擎 架设服务器 softbank邮箱 域名和空间 1美金 卡巴斯基免费试用版 环聊 腾讯总部在哪 四川电信商城 空间登入 百度云空间 cdn服务 更多