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

星梦云:四川100G高防4H4G10M月付仅60元

星梦云怎么样?星梦云资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器。星梦云目前夏日云服务器促销,四川100G高防4H4G10M月付仅60元;西南高防月付特价活动,续费同价,买到就是赚到!点击进入:星梦云官方网站地址1、成都电信年中活动机(成都电信优化线路,封锁...

HostKvm(4.25美)香港和俄罗斯高防机房云服务器

HostKvm 商家我们算是比较熟悉的国内商家,商家主要还是提供以亚洲数据中心,以及直连海外线路的服务商。这次商家有新增香港和俄罗斯两个机房的高防服务器方案。默认提供30GB防御,且目前半价优惠至4.25美元起步,其他方案的VPS主机还是正常的八折优惠。我们看看优惠活动。香港和俄罗斯半价优惠:2021fall,限购100台。通用优惠码:2021 ,八折优惠全部VPS。我们看看具体的套餐。1、香港高...

Linode十八周年及未来展望

这两天Linode发布了十八周年的博文和邮件,回顾了过去取得的成绩和对未来的展望。作为一家运营18年的VPS主机商,Linode无疑是有一些可取之处的,商家提供基于KVM架构的VPS主机,支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,所有机器提供高出入网带宽,最低仅$5/月($0.0075/小时)。This month marks Linod...

java发邮件为你推荐
电脑手机网页浏览器可否用电脑浏览手机网页?连接池什么是连接池,连接池有什么作用优翼奇瑞优翼车子拉缸气缸是维修还是换。换的话大概多少钱?阿里地图魔兽世界wow祖达萨泽布阿里在哪?体系文件企业质量管理体系文件指的是什么?教育城域网中考怎么查分数招行信用卡还款招商信用卡怎么还款呢招行信用卡还款招商银行信用卡有哪几个还款方式呢?快照优化快照跟不上优化节奏优化方法出问题?售后软件有没有什么软件可以接单手机维修
域名抢注 域名主机管理系统 本网站服务器在美国维护 仿牌空间 美国主机评测 国内永久免费云服务器 英文简历模板word 服务器日志分析 好看的桌面背景图片 发包服务器 嘟牛 免费全能空间 中国电信测速112 ntfs格式分区 怎么建立邮箱 免费mysql数据库 starry 97rb 中国电信宽带测速 葫芦机 更多