1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java使用javax.mail包发送电子邮件:设置账号 密码 主题 文本 附件

java使用javax.mail包发送电子邮件:设置账号 密码 主题 文本 附件

时间:2023-05-31 23:32:05

相关推荐

java使用javax.mail包发送电子邮件:设置账号 密码 主题 文本 附件

分享一个朋友的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开

docker/kubernetes入门视频教程

全栈工程师开发手册 (作者:栾鹏)

java教程全解

java使用javax.mail包发送电子邮件。这个实例可发送多附件。

这里使用163邮箱进行测试。可以设置账号、密码、主题、文本内容、附件

测试代码

public static void main(String[] args){Mail sendmail = new Mail();sendmail.setHost("");sendmail.setUserName("aaaaaaaaa@");sendmail.setPassWord("aaaaaaaaa");sendmail.setTo("aaaaaaaaa@");sendmail.setFrom("aaaaaaaaa@");sendmail.setSubject("你好,这是测试!");sendmail.setContent("你好这是一个带多附件的测试!");//Mail sendmail = new Mail("aaaaaaaaa@","aaaaaaaaa@","","aaaaaaaaa","aaaaaaaaa","你好","胃,你好吗?");sendmail.attachfile("D:\\test.jpg");sendmail.attachfile("D:\\test.mp4");sendmail.sendMail();}

邮件发送类的实现

package com.;import java.util.*;import java.io.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;String to = "";//收件人String from = "";//发件人String host = "";//smtp主机String username = "" ;String password = "" ;String filename = "";//附件文件名String subject = "";//邮件主题String content = "";//邮件正文Vector file = new Vector();//附件文件集合public Mail(){}//构造器,提供直接的参数传入public Mail(String to,String from,String smtpServer,String username,String password,String subject,String content){this.to = to;this.from = from;this.host = smtpServer;this.username = username;this.password = password;this.subject = subject;this.content = content;}//设置邮件服务器地址public void setHost(String host){this.host = host;}//设置登录服务器校验密码public void setPassWord(String pwd){this.password = pwd;}//设置登录服务器校验用户public void setUserName(String usn){this.username = usn;}//设置邮件发送目的邮箱public void setTo(String to){this.to = to;}//设置邮件发送源邮箱public void setFrom(String from){this.from = from;}//设置邮件主题public void setSubject(String subject){this.subject = subject;}//设置邮件内容public void setContent(String content){this.content = content;}//把主题转换为中文public String transferChinese(String strText){try{strText = MimeUtility.encodeText(new String(strText.getBytes(), "GB2312"), "GB2312", "B");}catch(Exception e){e.printStackTrace();}return strText;}//往附件组合中添加附件public void attachfile(String fname){file.addElement(fname);}//发送邮件public boolean sendMail(){//构造mail sessionProperties props = System.getProperties();props.put("mail.smtp.host",host);props.put("mail.smtp.auth","true");Session session=Session.getDefaultInstance(props, new Authenticator(){public PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication(username,password); }});try {//构造MimeMessage 并设定基本的值MimeMessage msg = new MimeMessage(session);msg.setFrom(new InternetAddress(from));InternetAddress[] address={new InternetAddress(to)};msg.setRecipients(Message.RecipientType.TO,address);subject = transferChinese(subject);msg.setSubject(subject);//构造MultipartMultipart mp = new MimeMultipart();//向Multipart添加正文MimeBodyPart mbpContent = new MimeBodyPart();mbpContent.setText(content);//向MimeMessage添加(Multipart代表正文)mp.addBodyPart(mbpContent);//向Multipart添加附件Enumeration efile=file.elements();while(efile.hasMoreElements()){MimeBodyPart mbpFile = new MimeBodyPart();filename=efile.nextElement().toString();FileDataSource fds = new FileDataSource(filename);mbpFile.setDataHandler(new DataHandler(fds));mbpFile.setFileName(fds.getName());//向MimeMessage添加(Multipart代表附件)mp.addBodyPart(mbpFile);}file.removeAllElements();//向Multipart添加MimeMessagemsg.setContent(mp);msg.setSentDate(new Date());//发送邮件Transport.send(msg);} catch (MessagingException mex) {mex.printStackTrace();Exception ex = null;if ((ex=mex.getNextException())!=null){ex.printStackTrace();}return false;}return true;}}

本文只试验了163邮件,读者可以按下面的主机地址,试验其他邮箱。但并不是每种邮箱都能成功。

gmail()

POP3服务器地址:(SSL启用 端口:995)

SMTP服务器地址:(SSL启用 端口:587)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:pop.

SMTP服务器地址:smtp.

:

POP3服务器地址:.cn(端口:110)

SMTP服务器地址:.cn(端口:25)

Foxmail:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

sinaVIP

POP3服务器:pop3. (端口:110)

SMTP服务器:smtp. (端口:25)

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:

SMTP服务器地址:

:

POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25)

:

POP3服务器地址:pop.(端口:995)

SMTP服务器地址:smtp.(端口:587)

雅虎邮箱POP3的SSL不启用端口为110,POP3的SSL启用端口995;SMTP的SSL不启用端口为25,SMTP的SSL启用端口为465

QQ邮箱 QQ企业邮箱

POP3服务器地址:(端口:110) POP3服务器地址:pop. (SSL启用 端口:995)

SMTP服务器地址: (端口:25) SMTP服务器地址:smtp.(SSL启用 端口:587/465)

SMTP服务器需要身份验证

126邮箱 HotMail

POP3服务器地址:(端口:110) POP3服务器地址: (端口:995)

SMTP服务器地址:(端口:25) SMTP服务器地址: (端口:587)

: 139邮箱

POP3服务器地址:(端口:110) POP3服务器地址:(端口:110)

SMTP服务器地址:(端口:25) SMTP服务器地址:(端口:25)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。