「java邮件保存」java发送电子邮件

博主:adminadmin 2022-11-25 02:08:05 60

今天给各位分享java邮件保存的知识,其中也会对java发送电子邮件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

类似163里发邮件页面 实现存草稿的功能 用java 怎么写

存草稿箱的功能其实就是插入记录到数据库的一个过程,先创建一个表,专门保存草稿,然后创建一个保存的方法,执行数据库插入方法,当用户点击保存到草稿箱时,将表单提交到处理action,action使用保存方法保存草稿信息

java mail 保存已发送邮件,怎么保存到发件箱?

public void sendMail(String subject, String from, ListString to, ListString cc,

ListString bcc, String bodyText, ListFile files, boolean draft) {

Message message = new MimeMessage(session);

try {

// 设置发件人地址

message.setFrom(new InternetAddress(from));

// 设置主题

message.setSubject(subject);

// 设置收件人

if(to!=null){

for (String item : to) {

message.addRecipient(Message.RecipientType.TO,

new InternetAddress(item));

}

}

// 设置抄送人

if(cc!=null){

for (String item : cc) {

message.addRecipient(Message.RecipientType.CC,

new InternetAddress(item));

}

}

// 设置密送人

if(bcc!=null){

for (String item : bcc) {

message.addRecipient(Message.RecipientType.BCC,

new InternetAddress(item));

}

}

if(draft){

message.setFlag(Flags.Flag.DRAFT, true);

}

// 设置邮件内容

Multipart multipart = new MimeMultipart();

MimeBodyPart txtPart = new MimeBodyPart();

txtPart.setContent(bodyText, "text/html;charset=utf-8");

multipart.addBodyPart(txtPart);

// 添加附件

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

for (File f : files) {

MimeBodyPart part = new MimeBodyPart();

FileDataSource fds = new FileDataSource(f); // 得到数据源

part.setDataHandler(new DataHandler(fds)); // 得到附件本身并至入BodyPart

String filename=encodeFileName(fds.getName());

part.setFileName(filename); // 得到文件名同样至入BodyPart

multipart.addBodyPart(part);

}

}

message.setContent(multipart);

message.setFlag(Flags.Flag.RECENT, true);

message.saveChanges();

if(!draft){

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

transport.connect(host, userName, passWord);

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

transport.close();

}

} catch (AddressException e) {

e.printStackTrace();

} catch (MessagingException e) {

e.printStackTrace();

}

}

JAVA 如何实现群发邮件(1000封以上)

刚好我也在学习,网上找了些:

邮件群发:

收件人的地址设置为tomail+i的形式,利用For循环向这些地址发送邮件,以实现群发的目的。

利用Address类设置邮件信息的收件人和发件人信息,在创建了邮件地址类后,通过message的setFrom()方法设置邮件的发件人,代码如下:

message.setFrom(from_mail);

设置收件人地址时使用setRecipient()方法设置收信人地址,代码如下:

message.setRecipient(type,address);

参数type为收件人类型。可以使用以下3个常量来区分收件人的类型:

1)Message.RecipientType.TO--发送。

2)Message.RecipientType.CC--抄送。

3)Message.RecipientType.BCC--暗送。

实现过程:

%@ page import="java.io.*"%

%@ page import="java.util.*"%

%@ page import="javax.mail.*"%

%@ page import="javax.mail.internet.*"%

%@ page import="javax.activation.*"%

%

try{

int i = 1;

for(i=1;i4;i++){

request.setCharacterEncoding("gb2312");

String from = request.getParameter("from_mail");

String to = request.getParameter("tomail"+i);

String subject = request.getParameter("subject");

String messageText = request.getParameter("message");

String password = request.getParameter("password");

String S = request.getParameter("from_mail");

int n = S.indexOf('@');

int m = S.length();

String server = S.substring(n+1,m);

//建立邮件会话

Properties pro = new Properties();

pro.put("mail.smtp.host","smtp."+server);

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

Session sess = Session.getInstance(pro);

sess.setDebug(true);

MimeMessage message = new MimeMessage(sess);//新建一个消息对象

InternetAddress from_mail = new InternetAddress(from);//设置发件人

message.setFrom(from_mail);

//设置收件人

InternetAddress to = new InternetAddress(to);

message.setRecipient(Message.RecipientType.TO,to_mail);

message.setSubject(subject);//设置主题

message.setText(messageText);//设置内容

message.setSentDate(new Date());//设置发送时间

message.saveChanges();//保存邮件信息

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

transport.connect("smtp."+server,from,password);

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

transport.close();

if(i==3){

out.print("发送邮件成功");

}

}

}catch(Exception e){

out.print("发送邮件失败,原因可能是ul");

out.println(e.getMessage());

}

%

感谢网友:s214205

如何使用Java发送qq邮件

方法:

1.前提准备工作:

首先,邮件的发送方要开启POP3 和SMTP服务--即发送qq邮件的账号要开启POP3 和SMTP服务

2.开启方法:

登陆qq邮箱

3.点击 设置

4.点击—-账户

5.找到:POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 —点击开启

6.送短信 —–点击确定

7.稍等一会,很得到一个授权码! –注意:这个一定要记住,一会用到

8.点击保存修改 —OK 完成

9.java 测试代码:

package cn.cupcat.test;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMessage.RecipientType;

public class SendmailUtil {

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

Properties properties = new Properties();

properties.put("mail.transport.protocol", "smtp");// 连接协议

properties.put("mail.smtp.host", "smtp.qq.com");// 主机名

properties.put("mail.smtp.port", 465);// 端口号

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

properties.put("mail.smtp.ssl.enable", "true");//设置是否使用ssl安全连接 ---一般都使用

properties.put("mail.debug", "true");//设置是否显示debug信息 true 会在控制台显示相关信息

//得到回话对象

Session session = Session.getInstance(properties);

// 获取邮件对象

Message message = new MimeMessage(session);

//设置发件人邮箱地址

message.setFrom(new InternetAddress("123456789@qq.com"));

//设置收件人地址 message.setRecipients( RecipientType.TO, new InternetAddress[] { new InternetAddress("987654321@qq.com") });

//设置邮件标题

message.setSubject("这是第一封Java邮件");

//设置邮件内容

message.setText("内容为: 这是第一封java发送来的邮件。");

//得到邮差对象

Transport transport = session.getTransport();

//连接自己的邮箱账户

transport.connect("123456789@qq.com", "vvctybgbvvophjcj");//密码为刚才得到的授权码

//发送邮件 transport.sendMessage(message, message.getAllRecipients());

}

}

10.运行就会发出邮件了。。。。

下面是我收到邮件的截图,当然我把源码中的邮件地址都是修改了,不是真实的,你们测试的时候,可以修改能你们自己的邮箱。最后,祝你也能成功,如果有什么问题,可以一起讨论!

注意事项

得到的授权码一定要保存好,程序中要使用

关于java邮件保存和java发送电子邮件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。