精华内容
下载资源
问答
  • 只用于发送邮件,设置账号时要注意用户名和邮箱的区别package com.landray.kmss.pro.leadroute.service.spring;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.Message;import ...

    只用于发送邮件,设置账号时要注意用户名和邮箱的区别

    package com.landray.kmss.pro.leadroute.service.spring;

    import java.util.Properties;

    import javax.mail.Authenticator;

    import javax.mail.Message;

    import javax.mail.MessagingException;

    import javax.mail.PasswordAuthentication;

    import javax.mail.Session;

    import javax.mail.Transport;

    import javax.mail.internet.InternetAddress;

    import javax.mail.internet.MimeMessage;

    public class ToExchangeMail {

    public static String sendMain(String to) {

    String from = "xxx@qq.com";// 发件人电子邮箱

    //获取系统属性,主要用于设置邮件相关的参数。

    Properties properties = System.getProperties();

    properties.setProperty("mail.smtp.host", "smtp.xxx");//smtp协议地址

    properties.setProperty("mail.smtp.port", "xx");//端口号

    Session session = Session.getDefaultInstance(properties, new Authenticator() {

    @Override

    protected PasswordAuthentication getPasswordAuthentication() {

    return new PasswordAuthentication("发送者邮箱的用户名(不是邮箱)", "密码");//发送者账号密码

    }

    });

    //创建MimeMessage消息对象,消息头配置了收发邮箱的地址,消息体包含了邮件标题和邮件内容。接收者类型:TO代表直接发送,CC代表抄送,BCC代表秘密抄送。

    try {

    MimeMessage message = new MimeMessage(session);

    message.addHeader("X-Mailer","Microsoft Outlook Express 6.00.2900.2869");

    message.setFrom(new InternetAddress(from));

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

    message.setSubject("标题");

    message.setText("内容");

    Transport.send(message);

    System.out.println("发送成功!");

    return "success";

    } catch (MessagingException e) {

    e.printStackTrace();

    return "failed";

    }

    }

    }

    测试类:

    public class MyTest {

    public static void main(String[] args) {

    ToExchangeMail mail=new ToExchangeMail();

    mail.sendMain("接收人的邮箱");

    }

    }

    展开全文
  • 准备我们想通过Java代码实现发送OutLook邮件,必须准备以下材料:OutLook邮箱目标邮箱查看OutLook邮箱信息打开OutLook邮箱,在Settings中搜索或找到SMTP:打开以下界面,拿到我们想要的数据(ServerName 以及 Port),...

    准备

    我们想通过Java代码实现发送OutLook邮件,必须准备以下材料:

    OutLook邮箱

    目标邮箱

    查看OutLook邮箱信息

    打开OutLook邮箱,在Settings中搜索或找到SMTP:

    62eb2314bd37834fc49a697e82f728c8.png

    打开以下界面,拿到我们想要的数据(ServerName 以及 Port),如图:

    a2191955abb3d30fe4d5516352ebace6.png

    JAVA项目

    使用Maven或者创建一个普通项目,选择导入Maven依赖或导入jar包,我这里使用的是Maven创建的Java项目,所以我导入了以下依赖:

    com.sun.mail

    javax.mail

    1.6.2

    编写发送代码

    复制或编写以下代码,理解以下代码并不困难,我几乎标注了每一行代码:

    public static boolean SendEmail(String sender,String password,String host,String port,String receiver)

    {

    try{

    Properties props = new Properties();

    // 开启debug调试

    props.setProperty("mail.debug", "true"); //false

    // 发送服务器需要身份验证

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

    // 设置邮件服务器主机名

    props.setProperty("mail.host", host);

    // 发送邮件协议名称 这里使用的是smtp协议

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

    // 服务端口号

    props.setProperty("mail.smtp.port", port);

    props.put("mail.smtp.starttls.enable", "true");

    // 设置环境信息

    Session session = Session.getInstance(props);

    // 创建邮件对象

    MimeMessage msg = new MimeMessage(session);

    // 设置发件人

    msg.setFrom(new InternetAddress(sender));

    // 设置收件人

    msg.addRecipient(Message.RecipientType.TO, new InternetAddress(receiver));

    // 设置邮件主题

    msg.setSubject("this is subject");

    // 设置邮件内容

    Multipart multipart = new MimeMultipart();

    MimeBodyPart textPart = new MimeBodyPart();

    //发送邮件的文本内容

    textPart.setText("this is the text");

    multipart.addBodyPart(textPart);

    // 添加附件

    MimeBodyPart attachPart = new MimeBodyPart();

    //可以选择发送文件...

    //DataSource source = new FileDataSource("C:\\Users\\36268\\Desktop\\WorkSpace\\MyApp\\Program.cs");

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

    //设置文件名

    //attachPart.setFileName("Program.cs");

    multipart.addBodyPart(attachPart);

    msg.setContent(multipart);

    Transport transport = session.getTransport();

    // 连接邮件服务器

    transport.connect(sender, password);

    // 发送邮件

    transport.sendMessage(msg, new Address[]{new InternetAddress(receiver)});

    // 关闭连接

    transport.close();

    return true;

    }catch( Exception e ){

    e.printStackTrace();

    return false;

    }

    }

    运行方法

    我这里直接使用main方法直接运行了(为了调试方便和更好的理解),如果是具体业务,你应该对这些代码包括参数进行封装:

    public static void main(String[] args) {

    String sender = "erosionzhu@outlook.com";

    String password = ""; //填写你的outlook帐户的密码

    // 收件人邮箱地址

    String receiver = "362687440@qq.com";

    // office365 邮箱服务器地址及端口号

    //这个就是之前的Server Name,注意:你使用的Outlook应用可能使用了不同的服务器,根据自己刚才拿到的地址为准

    String host = "smtp.office365.com";

    String port = "587"; //这个就是拿到的port

    boolean b = SendEmail(sender, password, host, port, receiver);

    if(b)

    {

    System.out.println("发送成功");

    }else

    {

    System.out.println("发送失败");

    }

    }

    展开全文
  • javaoutlook邮件(简单实现)

    千次阅读 2019-09-04 09:16:58
    只用于发送邮件,设置账号时要注意用户名和邮箱的区别 package com.landray.kmss.pro.leadroute.service.spring; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; ...

    只用于发送邮件,设置账号时要注意用户名和邮箱的区别

    package com.landray.kmss.pro.leadroute.service.spring;

    import java.util.Properties;

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

    public class ToExchangeMail {
        public static String sendMain(String to) {
            String from = "xxx@qq.com";// 发件人电子邮箱
            //获取系统属性,主要用于设置邮件相关的参数。
            Properties properties = System.getProperties();
            properties.setProperty("mail.smtp.host", "smtp.xxx");//smtp协议地址
            properties.setProperty("mail.smtp.port", "xx");//端口号
            Session session = Session.getDefaultInstance(properties, new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("发送者邮箱的用户名(不是邮箱)", "密码");//发送者账号密码
                }
            });
            
            //创建MimeMessage消息对象,消息头配置了收发邮箱的地址,消息体包含了邮件标题和邮件内容。接收者类型:TO代表直接发送,CC代表抄送,BCC代表秘密抄送。
            try {
                MimeMessage message = new MimeMessage(session);
                message.addHeader("X-Mailer","Microsoft Outlook Express 6.00.2900.2869");
                message.setFrom(new InternetAddress(from));
                message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
                message.setSubject("标题");
                message.setText("内容");
                Transport.send(message);
                System.out.println("发送成功!");
                return "success";
            } catch (MessagingException e) {
                e.printStackTrace();
                return "failed";
            }
            
        }

    }
     

     

    测试类:

    public class MyTest {
        public static void main(String[] args) {
            ToExchangeMail mail=new ToExchangeMail();
            mail.sendMain("接收人的邮箱");
        }
    }

    展开全文
  • java实现邮件发送

    2019-12-10 17:17:54
    -OutLook(Express,Microsoft outLook) - Thunderbind(linux平台) 2 邮件服务端 -Microsoft ExchangServer - IBM Lotus Notes - SendMail Qmail,james 3 主要协议 - 发送端口25,接收端口110 - 发送SMTP,...

    邮件基础知识

    1 邮件客户端
    -Foxmail
    -OutLook(Express,Microsoft outLook)
    - Thunderbind(linux平台)
    2 邮件服务端
    -Microsoft ExchangServer
    - IBM Lotus Notes
    - SendMail Qmail,james
    3 主要协议
    - 发送端口25,接收端口110
    - 发送SMTP,Simple Mail Transfer Proctol
    - 接收 Pop3,PostOffice protocol3(POP)
    4 接收 IMAP,Internet Message Access Protocol IMAP4
    -摘要浏览
    -选择下载附件
    -多文件夹
    -网络硬盘
    5 邮件格式
    -RFC822邮件格式,邮件头,文字邮件正文
    -MIME,图片,音频,视频
    6 邮件编码
    -纯英文邮件,ASCII编码,7bit
    8Bit编码 – BASE64,6个bit, A-Za-z0-9+/ – Quoted-printable,对每个非ASCII字 符用“=“加上这个字符的十六进制编码.
    在这里插入图片描述7 JAVA邮件发送的依赖包

    com.sun.main
    javax.mail
    1.6.2

    8 主要类
    -session:邮件会话 和httpsession不通
    - store:邮件存储空间
    - Folder:邮件文件夹
    - Message 电子邮件
    - Address邮件地址
    - Transport发送协议类
    9 邮件报文体封装
    (1) 发送报文体封装

    package messages;
    
    import java.io.FileOutputStream;
    import java.util.Properties;
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    public class AttachmentMessage 
    {
    	public static MimeMessage generate() throws Exception
    	{
    		String from = "***********@qq.com "; // 发件人地址
    		String to = "*******************@qq.com"; // 收件人地址
    		
            String subject = "多附件邮件";        //邮件主题
            String body = "<a href=http://www.ecnu.edu.cn>" +
            			  "欢迎大家访问我们的网站</a></br>"; 
          
            // 创建Session实例对象
            Session session = Session.getDefaultInstance(new Properties());
         	// 创建MimeMessage实例对象
         	MimeMessage message = new MimeMessage(session);            
            message.setFrom(new InternetAddress(from));
            message.setRecipients(Message.RecipientType.TO,
            		InternetAddress.parse(to));
            message.setSubject(subject);
    
            //message.setRecipients("MimeMessage.RecipientType.CC", new InternetAddress("ee@receive.com", "USER_EE", "UTF-8"));
            
            //创建代表邮件正文和附件的各个MimeBodyPart对象
            MimeBodyPart contentPart = createContent(body);
            MimeBodyPart attachPart1 = createAttachment("c:/temp/ecnu4.jpg");
            MimeBodyPart attachPart2 = createAttachment("c:/temp/ecnu5.jpg");
            
            //创建用于组合邮件正文和附件的MimeMultipart对象
            MimeMultipart allMultipart = new MimeMultipart("mixed");
            allMultipart.addBodyPart(contentPart);
            allMultipart.addBodyPart(attachPart1);
            allMultipart.addBodyPart(attachPart2);
            
            //设置整个邮件内容为最终组合出的MimeMultipart对象
            message.setContent(allMultipart);
            message.saveChanges();
            
            //message.writeTo(new FileOutputStream("e:/ComplexMessage.eml"));
            return message;
    	}
    	
    	public static MimeBodyPart createContent(String body) throws Exception
    	{
            MimeBodyPart htmlBodyPart = new MimeBodyPart();          
            htmlBodyPart.setContent(body,"text/html;charset=gb2312");
            return htmlBodyPart;
    	}
    	
    	public static MimeBodyPart createAttachment(String filename) throws Exception
    	{
    		//创建保存附件的MimeBodyPart对象,并加入附件内容和相应信息
    		MimeBodyPart attachPart = new MimeBodyPart();
            FileDataSource fds = new FileDataSource(filename);
            attachPart.setDataHandler(new DataHandler(fds));
            attachPart.setFileName(fds.getName());
    		return attachPart;
    	}
    }
    

    (2) text格式的报文体封装

    package messages;
    
    import java.util.Date;
    import java.util.Properties;
    import javax.mail.Message;
    import javax.mail.Session;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    import java.io.FileOutputStream;
    
    public class TextMessage {
    	public static MimeMessage generate() throws Exception {
    		String from = "***********@qq.com "; // 发件人地址
    		String to = "*******************@qq.com"; // 收件人地址
    		
    		String subject = "test";
    		String body = "您好,这是来自一封qq的测试邮件";
    
    		// 创建Session实例对象
    		Session session = Session.getDefaultInstance(new Properties());
    		// 创建MimeMessage实例对象
    		MimeMessage message = new MimeMessage(session);
    		// 设置发件人
    		message.setFrom(new InternetAddress(from));
    		// 设置收件人
    		message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
    		// 设置发送日期
    		message.setSentDate(new Date());
    		// 设置邮件主题
    		message.setSubject(subject);
    		// 设置纯文本内容的邮件正文
    		message.setText(body);
    		// 保存并生成最终的邮件内容
    		message.saveChanges();
    
    		// 把MimeMessage对象中的内容写入到文件中
    		//msg.writeTo(new FileOutputStream("e:/test.eml"));
    		return message;
    	}
    }
    

    (3)发送邮件

    package tools;
    
    import javax.mail.*;
    import java.util.*;
    import messages.*;
    
    
    public class MailClientSend {
      private Session session;
      private Transport transport;
      private String username = "lychen@sei.ecnu.edu.cn";
      private String password = "1234567899";
      private String smtpServer = "webmail.ecnu.edu.cn";
      
      public void init()throws Exception
      {
    	//设置属性
        Properties  props = new Properties();
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport");
        props.put("mail.smtp.host", smtpServer); //设置发送邮件服务器
        props.put("mail.smtp.port", "25");
        props.put("mail.smtp.auth", "true"); //SMTP服务器需要身份验证    
    
        // 创建Session对象
        session = Session.getInstance(props,new Authenticator(){   //验账账户 
            public PasswordAuthentication getPasswordAuthentication() { 
              return new PasswordAuthentication(username, password); 
            }            
     });
        session.setDebug(true); //输出跟踪日志
        
        // 创建Transport对象
        transport = session.getTransport();           
      }
      
      public void sendMessage()throws Exception{
        //创建一个邮件
        //Message msg = TextMessage.generate();
    	//Message msg = HtmlMessage.generate();
    	Message msg = AttachmentMessage.generate();
        //发送邮件    
        transport.connect();
        transport.sendMessage(msg, msg.getAllRecipients());
        //打印结果
        System.out.println("邮件已经成功发送");
      } 
      
      public void close()throws Exception
      {
    	transport.close();
      }
      
      public static void main(String[] args)throws Exception {
    	  
        MailClientSend client=new MailClientSend();
        //初始化
        client.init();
        //发送邮件
        client.sendMessage();
        //关闭连接
        client.close();
      }
    }
    

    10 将邮件设为定时任务进行发送
    结合java的定时器,进行邮件发送

    展开全文
  • Java发送邮件的简单实现

    万次阅读 2017-11-01 15:00:35
    Java发送邮件的简单实现 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft ...
  • 本文主要用的邮件客户端是:office 2007的outlook,服务器是apache-james-2.3.2,首先我们来配置一下这个james服务器: 1.将james服务器解压到硬盘目录下,注意目录不能有中文,如e:盘下 2.修改apps/james/sar-inf...
  • 需求是将java后台中处理过的测试数据以邮件报告的形式发送outlook/手机端邮箱。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用...
  • 不借助于outlook或foxmail 这种客户端邮件工具,也不借助于通常邮件系统提供的web界面,直接使用javamail包编写简易的客户端发邮件程序,利用loadrunner的多用户模拟,持续发送,参数化等特性,实现性能测试。...
  • java发送简单邮件

    2019-05-28 14:48:56
    java发送邮件是通过javaMail来实现的。JavaMail根据百度百科的解释是提供给开发者处理电子邮件相关的编程接口。JavaMail是Sun公司发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于...
  • 用JavaMailSender实现发送邮件,需求发件人的账号是office账号,之前用的是163的账号,换成office账号之后就一直发不出去,希望各位大牛可以给我一个例子,,,,最后我确认了一下,账号是office账号,,,直接登录...
  • 使用java发送邮件,多邮箱发送先说说我遇到的坑实现思路话不多说了,贴代码 先说说我遇到的坑 我在网上看了怎么用Java发送邮件,我为了高可靠,我注册了三个邮箱分别是163,foxmail,outlook 在163发送过多就不能成功...
  • 信息来源: 软件人才网 作者:林立超 2002年我写了一篇关于java实现邮件发送的文章,那时我写的邮件发送功能很简单,不能带附件,不能带模版。后来有很多朋友陆续问我,有没有更完善一点的版本,现有我编写的邮件...
  • JavaMail是SUN提供给开发者在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持经常使用的邮件协议,如SMTP、POP3、IMAP。开发者使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket)。...
  • java 利用mail.jar发送邮件

    千次阅读 2016-12-08 15:52:08
    JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),...
  • 1、JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),...
  • 虽然我们往往将电子邮件与 Foxmail、Outlook 这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几...
  • JavaMail介绍JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节...
  • JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),...
  • 背景近期需要实现一个邮件客户端的项目,类似Foxmail,outlook客户端。但项目只做消息转发,不需要完整...SMTP即简单邮件传输协议,SMTP邮件服务器是遵循SMTP协议的发送邮件的服务器。如QQ:smtp.qq.com、163:smtp...
  • 虽然我们往往将电子邮件与 Foxmail、Outlook 这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几...
  • 虽然我们往往将电子邮件与 Foxmail、Outlook 这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几...
  • Java实现邮箱验证

    2017-03-08 17:20:00
     提供开发者处理电子邮件相关的编程接口,是Sun公司发布处理email的API,可以方便地执行一些常用的邮件传输,我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。 JavaMail的用途?  1 用户注册后,...
  • java收发邮件总结

    2010-08-19 09:50:55
     javamail 是sun 公司提供的一套完整的用于读取,编写和发送由件的API ,利用javamail 可以实现类似 outlook,foxmail 等邮件客户端的程序。javamailAPI 隐藏了邮件底层的各种复杂操作,对邮件的特定协议提供了支持...
  • javamail发送邮件问题

    2009-01-28 14:40:52
    但问题是这样的,我想实现一个网站注册时给新用户发激活邮件,这样如果像126这样或QQ邮箱(默认是不开启SMTP/POP3的)是收不到我用客户羰发的邮件!那该怎么办呢? [b]问题补充:[/b] TO:lewhwa 呵呵,我理解你的...
  • 使用JavaMail实现收发电子邮件功能

    千次阅读 2005-04-25 19:48:00
    使用JavaMail实现收发电子邮件功能JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。本文将介绍如何安装JavaMail,使用JavaMail发送和...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

java实现outlook发送邮件

java 订阅