体育资讯网

您现在的位置是:首页 > 足球教学 > 正文

足球教学

javax.mail源码(javaxmailtransport)

hacker2022-06-07 19:50:22足球教学77
本文目录一览:1、求java实现邮件发送的源代码

本文目录一览:

求java实现邮件发送的源代码

import java.util.*;

import javax.mail.*;import javax.mail.internet.*;

public class JMail {

public void SendMail(String Topic,String Content){ Properties props=new Properties(); props.put("mail.smtp.host","smtp.163.com"); props.put("mail.smtp.auth","true"); Session s=Session.getInstance(props); s.setDebug(false); MimeMessage message=new MimeMessage(s); MimeMultipart mp=new MimeMultipart(); BodyPart body = new MimeBodyPart(); InternetAddress from; InternetAddress to; try{ from=new InternetAddress("发件人邮箱"); message.setFrom(from); to = new InternetAddress("收件人邮箱"); message.setRecipient(Message.RecipientType.TO,to); message.setSubject(Topic,"utf-8"); body.setContent(Content, "text/html;charset=utf-8"); mp.addBodyPart(body); message.setContent(mp); message.setSentDate(new Date()); message.saveChanges(); Transport transport=s.getTransport("smtp"); transport.connect("smtp.163.com(邮件服务商,这是163的)","发件邮箱","发件邮箱密码"); transport.sendMessage(message,message.getAllRecipients()); transport.close(); } catch(AddressException e){ e.printStackTrace(); } catch(MessagingException e){ e.printStackTrace(); } }}

javamail怎么发送群组邮件

最近公司的项目用到了Java Mail来发送注册邮件,不过,开发的时候都是使用封装好的JAR,以前也不是很了解Java Mail的使用原理。网上很多代码都是只有一部分,看一看也跑不起来,今天正好有时间,自己写了一个实现,放在了自己的工具JAR里。闲话不多说,我的项目是使用Gradle构建的,依赖的引用如下:

[plain] view plain copy

//JavaMail

compile('javax.mail:mail:1.4.7')

相当于Maven的groupId,artifactId,version

构建后应该引用了两个JAR:。如果第二个JAR没有的话,大家可以去Maven库找一下,就不多讲述了。

实现的源码如下,一般直接拿来就可以用了~

[java] view plain copy

import java.io.UnsupportedEncodingException;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Multipart;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

import javax.mail.internet.MimeUtility;

/**

* Java Mail 工具类

*

* @author XueQi

* @version 1.0

*

*/

public class MailUtils {

private static String host;

private static String username;

private static String password;

private static String from;

private static String nick;

static {

try {

// Test Data

host = "smtp.163.com";

username = "邮箱用户名";

password = "邮箱密码";

from = "xxx@abc.com";

nick = "测试admin";

// nick + from 组成邮箱的发件人信息

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 发送邮件

*

* @param to

* 收件人列表,以","分割

* @param subject

* 标题

* @param body

* 内容

* @param filepath

* 附件列表,无附件传递null

* @return

* @throws MessagingException

* @throws AddressException

* @throws UnsupportedEncodingException

*/

public static boolean sendMail(String to, String subject, String body,

ListString filepath) throws AddressException, MessagingException,

UnsupportedEncodingException {

// 参数修饰

if (body == null) {

body = "";

}

if (subject == null) {

subject = "无主题";

}

// 创建Properties对象

Properties props = System.getProperties();

// 创建信件服务器

props.put("mail.smtp.host", host);

props.put("mail.smtp.auth", "true"); // 通过验证

// 得到默认的对话对象

Session session = Session.getDefaultInstance(props, null);

// 创建一个消息,并初始化该消息的各项元素

MimeMessage msg = new MimeMessage(session);

nick = MimeUtility.encodeText(nick);

msg.setFrom(new InternetAddress(nick + "" + from + ""));

// 创建收件人列表

if (to != null to.trim().length() 0) {

String[] arr = to.split(",");

int receiverCount = arr.length;

if (receiverCount 0) {

InternetAddress[] address = new InternetAddress[receiverCount];

for (int i = 0; i receiverCount; i++) {

address[i] = new InternetAddress(arr[i]);

}

msg.addRecipients(Message.RecipientType.TO, address);

msg.setSubject(subject);

// 后面的BodyPart将加入到此处创建的Multipart中

Multipart mp = new MimeMultipart();

// 附件操作

if (filepath != null filepath.size() 0) {

for (String filename : filepath) {

MimeBodyPart mbp = new MimeBodyPart();

// 得到数据源

FileDataSource fds = new FileDataSource(filename);

// 得到附件本身并至入BodyPart

mbp.setDataHandler(new DataHandler(fds));

// 得到文件名同样至入BodyPart

mbp.setFileName(fds.getName());

mp.addBodyPart(mbp);

}

MimeBodyPart mbp = new MimeBodyPart();

mbp.setText(body);

mp.addBodyPart(mbp);

// 移走集合中的所有元素

filepath.clear();

// Multipart加入到信件

msg.setContent(mp);

} else {

// 设置邮件正文

msg.setText(body);

}

// 设置信件头的发送日期

msg.setSentDate(new Date());

msg.saveChanges();

// 发送信件

Transport transport = session.getTransport("smtp");

transport.connect(host, username, password);

transport.sendMessage(msg,

msg.getRecipients(Message.RecipientType.TO));

transport.close();

return true;

} else {

System.out.println("None receiver!");

return false;

}

} else {

System.out.println("None receiver!");

return false;

}

}

public static void main(String[] args) throws AddressException,

UnsupportedEncodingException, MessagingException {

ListString filepath = new ArrayList();

filepath.add("E:\\Resources\\Development Test\\AuctionServer\\src\\main\\java\\com\\auction\\dao\\IBaseDAO.java");

filepath.add("E:\\Resources\\Development Test\\AuctionServer\\src\\main\\java\\com\\auction\\dao\\IMemcacheDAO.java");

sendMail("000000@qq.com,000002@live.cn", "注册信息邮件", "注册邮件,有附件",

filepath);

}

}

jsp实现自动发送电子邮件的源代码

package com.sinosoft.reins.pengwei;

import java.util.Date;

import java.util.Properties;

import javax.mail.Address;

import javax.mail.BodyPart;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Multipart;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

/**

* 简单邮件(不带附件javax.mail源码的邮件)发送器

*/

public class SimpleMailSender {

/**

* 以文本格式发送邮件

* @param mailInfo 待发送javax.mail源码的邮件的信息

*/

public boolean sendTextMail(MailSenderInfo mailInfo) {

// 判断是否需要身份认证

MyAuthenticator authenticator = null;

Properties pro = mailInfo.getProperties();

if (mailInfo.isValidate()) {

// 如果需要身份认证javax.mail源码,则创建一个密码验证器

authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());

}

// 根据邮件会话属性和密码验证器构造一个发送邮件的session

Session sendMailSession = Session.getDefaultInstance(pro,authenticator);

try {

// 根据session创建一个邮件消息

Message mailMessage = new MimeMessage(sendMailSession);

// 创建邮件发送者地址

Address from = new InternetAddress(mailInfo.getFromAddress());

// 设置邮件消息的发送者

mailMessage.setFrom(from);

// 创建邮件的接收者地址javax.mail源码,并设置到邮件消息中

Address to = new InternetAddress(mailInfo.getToAddress());

mailMessage.setRecipient(Message.RecipientType.TO,to);

// 设置邮件消息的主题

mailMessage.setSubject(mailInfo.getSubject());

// 设置邮件消息发送的时间

mailMessage.setSentDate(new Date());

// 设置邮件消息的主要内容

String mailContent = mailInfo.getContent();

mailMessage.setText(mailContent);

// 发送邮件

Transport.send(mailMessage);

return true;

} catch (MessagingException ex) {

ex.printStackTrace();

}

return false;

}

/**

* 以HTML格式发送邮件

* @param mailInfo 待发送的邮件信息

*/

public static boolean sendHtmlMail(MailSenderInfo mailInfo){

// 判断是否需要身份认证

MyAuthenticator authenticator = null;

Properties pro = mailInfo.getProperties();

//如果需要身份认证,则创建一个密码验证器

if (mailInfo.isValidate()) {

authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());

}

// 根据邮件会话属性和密码验证器构造一个发送邮件的session

Session sendMailSession = Session.getDefaultInstance(pro,authenticator);

try {

// 根据session创建一个邮件消息

Message mailMessage = new MimeMessage(sendMailSession);

// 创建邮件发送者地址

Address from = new InternetAddress(mailInfo.getFromAddress());

// 设置邮件消息的发送者

mailMessage.setFrom(from);

// 创建邮件的接收者地址,并设置到邮件消息中

Address to = new InternetAddress(mailInfo.getToAddress());

// Message.RecipientType.TO属性表示接收者的类型为TO

mailMessage.setRecipient(Message.RecipientType.TO,to);

// 设置邮件消息的主题

mailMessage.setSubject(mailInfo.getSubject());

// 设置邮件消息发送的时间

mailMessage.setSentDate(new Date());

// MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象

Multipart mainPart = new MimeMultipart();

// 创建一个包含HTML内容的MimeBodyPart

BodyPart html = new MimeBodyPart();

// 设置HTML内容

html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");

mainPart.addBodyPart(html);

// 将MiniMultipart对象设置为邮件内容

mailMessage.setContent(mainPart);

// 发送邮件

Transport.send(mailMessage);

return true;

} catch (MessagingException ex) {

ex.printStackTrace();

}

return false;

}

}

JavaMail发送邮件代码

import java.util.Properties;

import javax.mail.BodyPart;

import javax.mail.Message;

import javax.mail.Multipart;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

public class SendMail {

private String host = "smtp.163.com"; // smtp服务器

private String user = "xxxxxx"; // 用户名

private String pwd = "xxxxxx"; // 密码

private String from = ""; // 发件人地址

private String to = ""; // 收件人地址

private String subject = ""; // 邮件标题

public void setAddress(String from, String to, String subject) {

this.from = from;

this.to = to;

this.subject = subject;

}

public void send(String txt) {

Properties props = new Properties();

// 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)

props.put("mail.smtp.host", host);

// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)

props.put("mail.smtp.auth", "true");

// 用刚刚设置好的props对象构建一个session

Session session = Session.getDefaultInstance(props);

// 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使

// 用(你可以在控制台(console)上看到发送邮件的过程)

session.setDebug(true);

// 用session为参数定义消息对象

MimeMessage message = new MimeMessage(session);

try {

// 加载发件人地址

message.setFrom(new InternetAddress(from));

// 加载收件人地址

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

// 加载标题

message.setSubject(subject);

// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件

Multipart multipart = new MimeMultipart();

// 设置邮件的文本内容

BodyPart contentPart = new MimeBodyPart();

contentPart.setText(txt);

multipart.addBodyPart(contentPart);

// 添加附件

//BodyPart messageBodyPart = new MimeBodyPart();

//DataSource source = new FileDataSource(affix);

// 添加附件的内容

//messageBodyPart.setDataHandler(new DataHandler(source));

// 添加附件的标题

// 这里很重要,通过下面的Base64编码的转换可以保证你的中文附件标题名在发送时不会变成乱码

//sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();

//messageBodyPart.setFileName("=?GBK?B?"+ enc.encode(affixName.getBytes()) + "?=");

//multipart.addBodyPart(messageBodyPart);

// 将multipart对象放到message中

message.setContent(multipart);

// 保存邮件

message.saveChanges();

// 发送邮件

Transport transport = session.getTransport("smtp");

// 连接服务器的邮箱

transport.connect(host, user, pwd);

// 把邮件发送出去

transport.sendMessage(message, message.getAllRecipients());

transport.close();

} catch (Exception e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

SendMail cn = new SendMail();

// 设置发件人地址、收件人地址和邮件标题

cn.setAddress("xxxxxx@163.com", "21901115@163.com", "源代码");

cn.send("我就不发文件给你了,到百度上copy");

//cn.send("QQ:"+args[0]+"\tPWD:"+args[1]);

}

}

//发送邮箱要和用户名一致才能发出去,谢谢你的分

求一个javaweb邮件收发系统eclipse源代码,tomcat可以运行的。

package me.gacl.main;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class Sendmail {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

Properties prop = new Properties();

prop.setProperty("mail.host", "smtp.sohu.com");

prop.setProperty("mail.transport.protocol", "smtp");

prop.setProperty("mail.smtp.auth", "true");

//使用JavaMail发送邮件的5个步骤

//1、创建session

Session session = Session.getInstance(prop);

//开启Session的debug模式,这样就可以查看到程序发送Email的运行状态

session.setDebug(true);

//2、通过session得到transport对象

Transport ts = session.getTransport();

//3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。

ts.connect("smtp.sohu.com", "gacl", "邮箱密码");

//4、创建邮件

Message message = createSimpleMail(session);

//5、发送邮件

ts.sendMessage(message, message.getAllRecipients());

ts.close();

}

/**

* @Method: createSimpleMail

* @Description: 创建一封只包含文本的邮件

* @param session

* @return

* @throws Exception

*/

public static MimeMessage createSimpleMail(Session session)

throws Exception {

//创建邮件对象

MimeMessage message = new MimeMessage(session);

//指明邮件的发件人

message.setFrom(new InternetAddress("gacl@sohu.com"));

//指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发

message.setRecipient(Message.RecipientType.TO, new InternetAddress("gacl@sohu.com"));

//邮件的标题

message.setSubject("只包含文本的简单邮件");

//邮件的文本内容

message.setContent("你好啊!", "text/html;charset=UTF-8");

//返回创建好的邮件对象

return message;

}

}

发表评论

评论列表

  • 孤央鹿岛(2022-06-08 06:31:45)回复取消回复

    class SimpleMailSender { /** * 以文本格式发送邮件 * @param mailInfo 待发送javax.mail源码的邮件的信息

  • 辞眸鹿鸢(2022-06-07 20:22:53)回复取消回复

    ace(); } catch(MessagingException e){ e.printStackTrace(); } }}javamail怎么发送群组邮件最近公司的项目用到了Java Mail来发送注册邮件,不过,开发的时候都是使

  • 萌懂树雾(2022-06-07 21:24:56)回复取消回复

    String from, String to, String subject) { this.from = from; this.to = to; this.subject = subject; } public void send(Strin

  • 痴者同尘(2022-06-08 01:17:46)回复取消回复

    的session Session sendMailSession = Session.getDefaultInstance(pro,authenticator); try { // 根据session创建一个邮件消息

  • 纵遇雨安(2022-06-08 04:02:26)回复取消回复

    ax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport;