java mail发送邮件

import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailUtility {
    
     private static int port = 25;
     private String server = "mail.163.com";//邮件服务器
     private String from = "vivk";//发送者,显示的发件人名字
     private String user = "";//发送者邮箱地址
     private String password = "";//密码

/**
      * Send emails
      * @param email
      * @param subject
      * @param body
      * @throws UnsupportedEncodingException
      */
     public void sendEmail(String [] email, String subject, String body) throws UnsupportedEncodingException {
            
         try
         {
            
             Properties props = new Properties();
             props.put("mail.smtp.host", server);                
             props.put("mail.smtp.port", String.valueOf(port));
             props.put("mail.smtp.auth", "false");
             props.put("mail.smtp.starttls.enable", "true");
             Transport transport = null;
             Session session = Session.getInstance(props, new MailAuthenticator(from, password));
             transport = session.getTransport("smtp");
             transport.connect(server, user, password);
             MimeMessage msg = new MimeMessage(session);
             msg.setSentDate(new Date());
             InternetAddress fromAddress = new InternetAddress(user,from,"UTF-8");
             msg.setFrom(fromAddress);
             InternetAddress[] toAddress = new InternetAddress[email.length];    
             
             for (int i=0;i<email.length;i++)
             {
                 toAddress[i] = new InternetAddress(email[i]);
             }             
             
             msg.setRecipients(Message.RecipientType.TO, toAddress);
             msg.setSubject(subject, "UTF-8");   
             msg.setText(body, "UTF-8");
             msg.saveChanges();
             transport.sendMessage(msg, msg.getAllRecipients());
             System.out.println("Complete sent emai!!!");
             LogUtil.debug("Complete sent emai!!!");
             
         }
         catch (NoSuchProviderException e) {
             e.printStackTrace();
            } catch (MessagingException e) {
             e.printStackTrace();
            }
        }
     /**
      * 需要认证账号和密码
      * @author zhaohongbing
      *
      */
     class MailAuthenticator extends Authenticator {
         String user;
         String pw;
        
         public MailAuthenticator (String username, String password){
             super();
             this.user = username;
             this.pw = password;
         }
         public PasswordAuthentication getPasswordAuthentication(){
             return new PasswordAuthentication(user, pw);
         }
     }
    
    
     public static void main(String args[]) throws UnsupportedEncodingException
     {
         EmailUtility myEmailUtility = new EmailUtility();
         String [] toAddress = {"[email protected]"};
         myEmailUtility.sendEmail(toAddress,"邮件测试","测试邮件,收到请回复我一下,thanks");//收件人
        
     }

}

java mail发送邮件,布布扣,bubuko.com

时间: 2024-11-01 19:59:53

java mail发送邮件的相关文章

java mail发送邮件demo 代码

java mail发送邮件demo,引入mail.jar,运行测试发送ok[代码][Java]代码     01import java.util.Date;02import java.util.Properties;0304import javax.mail.Authenticator;05import javax.mail.Message;06import javax.mail.MessagingException;07import javax.mail.PasswordAuthenticat

Java mail发送邮件附件出现.eml文件夹

在使用JAVA MAIL发送邮件时,163邮箱和QQ邮箱收到PDF附件,格式错误如下图: 163邮箱: QQ邮箱: 经历了很长时间的研究和测试,错误原因为在邮件正文和邮件附件用的MimeBodyPart对象是同一个,进而导致上述现象,解决办法为正文是一个MimeBodyPart对象,一个附件是一个MimeBodyPart对象.正确代码如下: 原文地址:https://www.cnblogs.com/XH09/p/10981329.html

Java Mail 发送邮件(个人备份)

package net.guoguoda.admin.common.utils; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; i

使用Java Mail发送邮件

本笔记参考自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17839983 JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP.POP3.IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API.使用JavaMail,我们可以实现类似OutL

利用java mail发送邮件(转)

JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP.POP3.IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API.使用JavaMail,我们可以实现类似OutLook.FoxMail的软件.虽然JavaMail(仅支持JDK4及以上)也是Java的API之一,但是却没有直接加入到JDK中,所以我们需要另行

简单的java mail发送邮件实例

mail.jar ,commons-email-X.X.jar ,activation.jar ,log4j.jar  这四个jar,放进项目里 下载地址 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html 该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人.下面是具体的代码: 先写个简单的mail对象 packag

Java Mail 发送邮件

通过SMTP协议, 编写客户端向邮件服务器提交发送邮件请求 package mail import javax.mail.internet.MimeMessage import java.util.Properties import javax.mail.Session import javax.mail.Message import javax.mail.Transport import java.util.Date import javax.mail.MessagingException f

使用java mail 发送邮件

1.关联jar包:   activation.jar   mail.jar 2.调用 @Test public void test1() { List<String> imageUrlList = Arrays.asList(new String[] { "src/美女1.jpg", "src/2.jpg", "src/2.jpg" }); List<String> attachmentUrlList = Arrays.a

Android Java Mail与Apache Mail发送邮件对比

原文链接: 一.邮件简介  一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等:  1.收件人:收件人的邮箱地址,例如[email protected]  2.收件人姓名:大部分的邮件显示时都会显示,例如loadfate [email protected]  3.发件人:发件人的邮箱地址  4.发件人姓名:  5.主题:邮件的标题  6.内容及附件:邮件的主要内容 二.使用Java发邮件的通用步骤  一般的项目中没有单独的邮件服务器,一般情况下都是使用别人的服务器.  1.设置