「java邮件保存」java发送电子邮件
今天给各位分享java邮件保存的知识,其中也会对java发送电子邮件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、类似163里发邮件页面 实现存草稿的功能 用java 怎么写
- 2、java mail 保存已发送邮件,怎么保存到发件箱?
- 3、JAVA 如何实现群发邮件(1000封以上)
- 4、如何使用Java发送qq邮件
类似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发送电子邮件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-25,除非注明,否则均为
原创文章,转载请注明出处。