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 的,其他的吧相应的服务器改一下就行了

tmhhost:全场VPS低至6.4折,香港BGP200M日本软银美国cn2 gia 200G高防美国三网cn2 gia韩国CN2

tmhhost放出了2021年的端午佳节+618年中大促的优惠活动:日本软银、洛杉矶200G高防cn2 gia、洛杉矶三网cn2 gia、香港200M直连BGP、韩国cn2,全都是高端优化线路,所有这些VPS直接8折,部分已经做了季付8折然后再在此基础上继续8折(也就是6.4折)。 官方网站:https://www.tmhhost.com 香港BGP线路VPS ,200M带宽 200M带...

美国200G美国高防服务器16G,800元

美国高防服务器提速啦专业提供美国高防服务器,美国高防服务器租用,美国抗攻击服务器,高防御美国服务器租用等。我们的海外高防服务器带给您坚不可摧的DDoS防护,保障您的业务不受攻击影响。HostEase美国高防服务器位于加州和洛杉矶数据中心,均为国内访问速度最快最稳定的美国抗攻击机房,带给您快速的访问体验。我们的高防服务器配有最高层级的DDoS防护系统,每款抗攻击服务器均拥有免费DDoS防护额度,让您...

妮妮云(30元),美国300G防御 2核4G 107.6元,美国高速建站 2核2G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

java发邮件为你推荐
xhtml请问XHTML是什么东西?一般在什么情况下使用的?eofexceptionjava中dis.readutf报错java.io.EOFExceptionanychartjfreechar制作柱状图的时候。由于柱子之间的差距太大。有些柱子才个位有上千导致了Y轴数据太密集。求nvidia官方网站官网NVIDIA驱动和win10系统不兼容,怎么解决?burndownburn down与burn up有何区别开房数据库ODBC数据库是什么呢?乐辞乐的组词有什么网络购物的发展网购如何促进经济的发展?网络购物的发展网络购物的发展对策购物网站设计凡客诚品,当当网、卓越网、淘宝、京东商城等电子商务网站的网页设计与功能不同
免费vps服务器 fdcservers 名片模板psd seovip 阿里云代金券 卡巴斯基官方免费版 七夕促销 gspeed 南通服务器 lamp架构 卡巴斯基官网下载 512内存 asp介绍 西部数码主机 火山互联 华为云服务器宕机 ddos防火墙 电脑显示屏不亮但是主机已开机 56折扣网 霍尼韦尔报警主机 更多