精华内容
下载资源
问答
  • Java内网发送邮件
    2021-02-12 22:21:58

    最近为单位的系统增加了一个新的功能,为用户定期发送邮件,用了了Javaweb 发送邮件功能,所以对遇到的问题进行整理,为以后遇到同样问题的同志提供一些参考。

    Java发送邮件的方式有两种,一种是通过java.mail,另一种时通过spring的JavaMailSender来实现,具体的方法网上有许多种,附上几个我用到的博客:

    https://blog.csdn.net/xiaojiang0829/article/details/17276871

    https://blog.csdn.net/yy339452689/article/details/78062727

    https://zhidao.baidu.com/question/681168978997276492.html

    https://blog.csdn.net/jsjsjs1789/article/details/53352409

    我遇到的问题:

    1、Could not convert socket to TLS

    这种对于第一种实现方案,可采用  properties.put("mail.smtp.ssl.trust", "你的host地址");

    对于第二种可在配置文件中添加spring.mail.properties.mail.smtp.ssl.trust=你的host地址

    注意最后不要有空格

    2、Java Mail邮件SMTP协议返回信息 535 5.7.3 Authentication unsuccessful.

    邮箱账号或者密码错误

    遇到无法连接成功时可以通过telnet手动发送邮件试试,来进一步判断哪里出问题了

    ssss

    更多相关内容
  • 用javaMail实现公司内网邮箱邮件发送,包括邮件附件,邮件发送人和抄送人
  • 但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。1. 电子邮件协议电子邮件的在网络中传输和网页...

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等。但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过 Java 代码来创建电子邮件,并连接邮件服务器发送邮件。

    1. 电子邮件协议

    电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP。其中邮件的创建和发送只需要用到 SMTP协议,所以本文也只会涉及到SMTP协议。SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件传输协议。

    2. JavaMail

    我们平时通过 Java 代码打开一个 http 网页链接时,通常可以使用已经对 http 协议封装好的 HttpURLConnection 类来快速地实现。Java 官方也提供了对电子邮件协议封装的 Java 类库,就是JavaMail,但并没有包含到标准的 JDK 中,需要我们自己去官方下载,这里我从 JavaEE 官方的 Github 仓库下载。

    这里我下载的版本是 1.6.0 版本,包含了 SMTP, IMAP, 和 POP3 协议的实现的 jar 包:

    3a87d41e65b733563ecfb042e9ef4a58.png

    我把 JavaMail 1.6.0 的 jar 包上传到了 CSDN,如果无法从 Github 下载,可以从 CSDN 下载(建议到Github下载,CSDN上我设了积分): http://download.csdn.net/download/xietansheng/9928266

    特别注意:

    本测试用例用的 JavaMail 版本是 1.6.0,如果下载到其他版本的 JavaMail 运行时出现问题,请使用 JavaMail 1.6.0 版本再进行尝试。

    使用 JavaMail 1.6.0 要求的 JDK 版本必须是 JDK 1.7 以上(建议使用最新版 JDK)。

    不要直接就完完全全复制我的代码,需要 修改一下发送的标题、内容、用户昵称,要不然所有人都直接复制我的代码发送,内容一致,邮箱服务器就可能会检测到这些内容是垃圾广告内容,不让你发送,会返回错误码,查询错误码也能查询到失败原因。

    有些童鞋反应代码提示某些类找不到,或运行出现问题,往往都是 JDK 版本过低,或 JavaMail 版本过低,出现问题时 请使用推荐的版本。

    再出现问题,只要能连接成功,都有错误码返回,有些童鞋发送失败在控制台已经给出了错误码,大部分还给出了查看错误码含义的链接,点开链接,查询对应的错误码,为什么失败,已经明明白白的告诉你了,针对失败原因修改即可!

    邮件发送,涉及多端(本地代码端、邮件发送服务器端、邮件接收服务器端),保证自己的代码没问题了,不一定就能成功,你把你的邮件提交到邮件发送服务器,发送的服务器可以给你拒绝服务(比如认为发送的内容是垃圾广告,或者你频繁请求发送),这不是代码端能管的事情,但都有错误码返回,明确告诉你为什么错误。就算你发送成功了,对方也有可能接收不到,成功发送到对方的邮件接收服务器后,对方的服务器可以根据你的内容拒绝收你的邮件(比如认为你的内容是广告诈骗等信息,或者发送过于频繁),对方的服务器可能直接把你的邮件扔垃圾箱,或者直接忽略。出现这些问题,请修改发送的标题、内容、昵称等,重复的内容不要反复发送,或多更换收件箱和发件箱试试!!!

    3. 创建一封简单的电子邮件

    首先创建一个 Java 工程,把下载好的 javax.mail.jar 作为类库加入工程,这里不多说。

    邮件创建步骤:

    创建一个邮件对象(MimeMessage);

    设置发件人,收件人,可选增加多个收件人,抄送人,密送人;

    设置邮件的主题(标题);

    设置邮件的正文(内容);

    设置显示的发送时间;

    保存到本地。

    代码实现:

    package com.xiets.javamaildemo;

    import javax.mail.Session;

    import javax.mail.internet.InternetAddress;

    import javax.mail.internet.MimeMessage;

    import java.io.FileOutputStream;

    import java.io.OutputStream;

    import java.util.Date;

    import java.util.Properties;

    /**

    * JavaMail 版本: 1.6.0

    * JDK 版本: JDK 1.7 以上(必须)

    */

    public class Main {

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

    // 1. 创建一封邮件

    Properties props = new Properties(); // 用于连接邮件服务器的参数配置(发送邮件时才需要用到)

    Session session= Session.getInstance(props); // 根据参数配置,创建会话对象(为了发送邮件准备的)

    MimeMessage message = new MimeMessage(session); // 创建邮件对象

    /*

    * 也可以根据已有的eml邮件文件创建 MimeMessage 对象

    * MimeMessage message = new MimeMessage(session, new FileInputStream("MyEmail.eml"));

    */

    // 2. From: 发件人

    // 其中 InternetAddress 的三个参数分别为: 邮箱, 显示的昵称(只用于显示, 没有特别的要求), 昵称的字符集编码

    // 真正要发送时, 邮箱必须是真实有效的邮箱。

    message.setFrom(new InternetAddress("aa@send.com", "USER_AA", "UTF-8"));

    // 3. To: 收件人

    message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress("cc@receive.com", "USER_CC", "UTF-8"));

    // To: 增加收件人(可选)

    message.addRecipient(MimeMessage.RecipientType.TO, new InternetAddress("dd@receive.com", "USER_DD", "UTF-8"));

    // Cc: 抄送(可选)

    message.setRecipient(MimeMessage.RecipientType.CC, new InternetAddress("ee@receive.com", "USER_EE", "UTF-8"));

    // Bcc: 密送(可选)

    message.setRecipient(MimeMessage.RecipientType.BCC, new InternetAddress("ff@receive.com", "USER_FF", "UTF-8"));

    // 4. Subject: 邮件主题

    message.setSubject("TEST邮件主题", "UTF-8");

    // 5. Content: 邮件正文(可以使用html标签)

    message.setContent("TEST这是邮件正文。。。", "text/html;charset=UTF-8");

    // 6. 设置显示的发件时间

    message.setSentDate(new Date());

    // 7. 保存前面的设置

    message.saveChanges();

    // 8. 将该邮件保存到本地

    OutputStream out = new FileOutputStream("MyEmail.eml");

    message.writeTo(out);

    out.flush();

    out.close();

    }

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    保存的 MyEmail.eml 可以使用邮件客户端打开查看,实际上就是一堆符合SMTP协议格式的文本(内容使用base64进行了编码),也可用记事本打开,如下所示:

    6bbd20b0bf8f51c49262dc7828366e27.png

    7f0651b89c62f7fbee3d8fc82cf2b843.png

    4. 发送电子邮件

    发送邮件首先需要有一个邮箱账号和密码,本文以网易163邮箱为例,邮箱账号必须要开启 SMTP 服务,在浏览器网页登录邮箱后一般在邮箱的“设置”选项中可以开启,并记下邮箱的 SMTP 服务器地址,如下所示(其他邮箱大同小异):

    cd823a3abb4c4800599653428689e210.png

    代码实现:

    package com.xiets.javamaildemo;

    import javax.mail.Session;

    import javax.mail.Transport;

    import javax.mail.internet.InternetAddress;

    import javax.mail.internet.MimeMessage;

    import java.util.Date;

    import java.util.Properties;

    /**

    * JavaMail 版本: 1.6.0

    * JDK 版本: JDK 1.7 以上(必须)

    */

    public class Main {

    // 发件人的 邮箱 和 密码(替换为自己的邮箱和密码)

    // PS: 某些邮箱服务器为了增加邮箱本身密码的安全性,给 SMTP 客户端设置了独立密码(有的邮箱称为“授权码”),

    // 对于开启了独立密码的邮箱, 这里的邮箱密码必需使用这个独立密码(授权码)。

    public static String myEmailAccount = "xxxxxxxxx@163.com";

    public static String myEmailPassword = "xxxxxxxxx";

    // 发件人邮箱的 SMTP 服务器地址, 必须准确, 不同邮件服务器地址不同, 一般(只是一般, 绝非绝对)格式为: smtp.xxx.com

    // 网易163邮箱的 SMTP 服务器地址为: smtp.163.com

    public static String myEmailSMTPHost = "smtp.163.com";

    // 收件人邮箱(替换为自己知道的有效邮箱)

    public static String receiveMailAccount = "xxxxxxxxx@qq.com";

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

    // 1. 创建参数配置, 用于连接邮件服务器的参数配置

    Properties props = new Properties(); // 参数配置

    props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)

    props.setProperty("mail.smtp.host", myEmailSMTPHost); // 发件人的邮箱的 SMTP 服务器地址

    props.setProperty("mail.smtp.auth", "true"); // 需要请求认证

    // PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接, 也可以自己开启),

    // 如果无法连接邮件服务器, 仔细查看控制台打印的 log, 如果有有类似 “连接失败, 要求 SSL 安全连接” 等错误,

    // 打开下面 /* ... */ 之间的注释代码, 开启 SSL 安全连接。

    /*

    // SMTP 服务器的端口 (非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了 SSL 连接,

    // 需要改为对应邮箱的 SMTP 服务器的端口, 具体可查看对应邮箱服务的帮助,

    // QQ邮箱的SMTP(SLL)端口为465或587, 其他邮箱自行去查看)

    final String smtpPort = "465";

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

    props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

    props.setProperty("mail.smtp.socketFactory.fallback", "false");

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

    */

    // 2. 根据配置创建会话对象, 用于和邮件服务器交互

    Session session = Session.getInstance(props);

    session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log

    // 3. 创建一封邮件

    MimeMessage message = createMimeMessage(session, myEmailAccount, receiveMailAccount);

    // 4. 根据 Session 获取邮件传输对象

    Transport transport = session.getTransport();

    // 5. 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则报错

    //

    // PS_01: 成败的判断关键在此一句, 如果连接服务器失败, 都会在控制台输出相应失败原因的 log,

    // 仔细查看失败原因, 有些邮箱服务器会返回错误码或查看错误类型的链接, 根据给出的错误

    // 类型到对应邮件服务器的帮助网站上查看具体失败原因。

    //

    // PS_02: 连接失败的原因通常为以下几点, 仔细检查代码:

    // (1) 邮箱没有开启 SMTP 服务;

    // (2) 邮箱密码错误, 例如某些邮箱开启了独立密码;

    // (3) 邮箱服务器要求必须要使用 SSL 安全连接;

    // (4) 请求过于频繁或其他原因, 被邮件服务器拒绝服务;

    // (5) 如果以上几点都确定无误, 到邮件服务器网站查找帮助。

    //

    // PS_03: 仔细看log, 认真看log, 看懂log, 错误原因都在log已说明。

    transport.connect(myEmailAccount, myEmailPassword);

    // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人

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

    // 7. 关闭连接

    transport.close();

    }

    /**

    * 创建一封只包含文本的简单邮件

    *

    *@param session 和服务器交互的会话

    *@param sendMail 发件人邮箱

    *@param receiveMail 收件人邮箱

    *@return

    *@throws Exception

    */

    public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {

    // 1. 创建一封邮件

    MimeMessage message = new MimeMessage(session);

    // 2. From: 发件人(昵称有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改昵称)

    message.setFrom(new InternetAddress(sendMail, "某宝网", "UTF-8"));

    // 3. To: 收件人(可以增加多个收件人、抄送、密送)

    message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "XX用户", "UTF-8"));

    // 4. Subject: 邮件主题(标题有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改标题)

    message.setSubject("打折钜惠", "UTF-8");

    // 5. Content: 邮件正文(可以使用html标签)(内容有广告嫌疑,避免被邮件服务器误认为是滥发广告以至返回失败,请修改发送内容)

    message.setContent("XX用户你好, 今天全场5折, 快来抢购, 错过今天再等一年。。。", "text/html;charset=UTF-8");

    // 6. 设置发件时间

    message.setSentDate(new Date());

    // 7. 保存设置

    message.saveChanges();

    return message;

    }

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    100

    101

    102

    103

    104

    105

    106

    107

    108

    109

    110

    111

    112

    113

    114

    115

    116

    117

    发送后查看收件人的收件箱:

    057c80685dfaf6ae8d67025f7a449b79.png

    展开全文
  • java发送邮件代码

    2022-01-10 00:58:13
    java发送邮件首先需要通过对应的邮件服务转发到中间基站,再有接收方服务器接收邮件,转发给收件人,因此我们再发送邮件时需要先设定邮件发出服务(例如qq、网易等),在配置邮件发送协议以及发送人和接收人,最后...

    java发送邮件首先需要通过对应的邮件服务转发到中间基站,再有接收方服务器接收邮件,转发给收件人,因此我们再发送邮件时需要先设定邮件发出服务(例如qq、网易等),在配置邮件发送协议以及发送人和接收人,最后设置邮件内容,此处我以正文中带有图片的代码为例!

    编写代码前,我们需要准备javax下的mail包和activation包。这个在文章的末位会提供下载地址,好了天冷屁股凉,我们直接上高速。。

    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    
    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import com.sun.mail.util.MailSSLSocketFactory;
    import javax.mail.internet.MimeMultipart;
    public class sendMailServes {
    	int i=1;
    	public  void sendMail(Session session, String model,String imgPath) throws Exception {
    		Properties properties = new Properties();
    		//设置发送邮件邮箱类型
    		properties.setProperty("mailhost", "smtp.qq.com");
    		//选择邮件发送协议
    		properties.setProperty("mail.transport.protocol","smtp");
    		//验证邮箱用户名密码
    		properties.setProperty("mail.setp.auth", "true");
    		//为邮箱设置SLL加密
    		MailSSLSocketFactory  ms = new MailSSLSocketFactory();
    		ms.setTrustAllHosts(true);
    		properties.put("mail.smtp.ssl.enable", "true");
    		properties.put("mail.smtp.ssl.socketFactory", ms);
    		
    		//创建session信息
    		
    		  session = session.getDefaultInstance(properties, new Authenticator(){
    			@Override
    			protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("发送人的邮箱地址", "密码");
                }
            });
    		//通过session得到transport对象
    		Transport transport = session.getTransport();
    		//使用邮箱的用户名和密码连上授权的服务器
    		transport.connect("smtp.qq.com","发送人的邮箱地址", "密码");
    		//创建邮件
    		//传送环境session
    		MimeMessage message = new MimeMessage(session);
    		//设置邮件发送人
    		message.setFrom("发送人邮件地址");
    		//设置邮件收件人
            message.setRecipients(Message.RecipientType.TO, "接收人的邮箱地址");
            //设置邮件主题
            message.setSubject("邮件主题");
            //设置图片属性
            
            MimeBodyPart image = new MimeBodyPart();
            DataHandler dh = new DataHandler(new FileDataSource("图片文件路径"));
            image.setDataHandler(dh);
            String imgId = i+".png";
            image.setContentID(imgId);//设置图片id
            
          //设置邮件正文内容
            MimeBodyPart text = new MimeBodyPart();
            //cid调用图片ID
            text.setContent("<h1 style='color: red'>您好!邮箱正文</h1><img src='cid:"+imgId+"'>", "text/html;charset=UTF-8");
    
            //描述数据关系
            MimeMultipart mm = new MimeMultipart();
            mm.addBodyPart(image);
            mm.addBodyPart(text);
            mm.setSubType("related");
            
            
          //将编辑好的数据关系放入message中
            message.setContent(mm);
          //保存修改
            message.saveChanges();
    
            //发送邮件
            transport.sendMessage(message, message.getAllRecipients());
    
            //关闭连接
            transport.close();
    		
    	}
    }
    

    mail包和activation包永久下载地址:

    链接:https://pan.baidu.com/s/15zDr2AlyA8y5Mpverk2aeQ 
    提取码:nwbk

    展开全文
  • //发送消息 message.getAllRecipients()获取邮件的所有收件人地址 transport.sendMessage(message, message.getAllRecipients());//关闭连接 transport.close(); System.out.println("邮件发送成功!"); }catch...

    packagecom.test.email;importjavax.activation.DataHandler;importjavax.activation.FileDataSource;importjavax.mail.Message;importjavax.mail.Session;importjavax.mail.Transport;import javax.mail.internet.*;importjava.io.File;importjava.util.Properties;/***@authorlh

    * @date 2020/7/16

    * @description*/

    public classSendEmail {//服务器地址

    private static final String host = "smtp.163.com";//传输协议

    private static final String protocol = "smtp";//发送人

    private static final String from_username = "******@163.com";//密码(配置邮箱的授权码)

    private static final String from_password = "******";//收件人

    private static final String recipient = "******@qq.com";//附件

    private static final String attach = "test\\report.html";//html格式

    private static final String htmlString = "邮件测试链接";//发送邮件

    public static voidsendEmail() {try{

    Session session=SendEmail.createSession();

    Message message=SendEmail.createMessage(session);

    MimeMultipart multipart= newMimeMultipart();//HTML格式

    multipart.addBodyPart(SendEmail.createHtmlContent());//发送附件

    multipart.addBodyPart(SendEmail.createAttach());//设置文件

    message.setContent(multipart);//消息传输

    Transport transport =session.getTransport();//设置连接地址

    transport.connect(host, from_username, from_password);//发送消息 message.getAllRecipients()获取邮件的所有收件人地址

    transport.sendMessage(message, message.getAllRecipients());//关闭连接

    transport.close();

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

    }catch(Exception e) {

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

    }

    }//创建邮件会话

    public staticSession createSession(){//构建properties文件

    Properties properties = newProperties();//邮件协议

    properties.setProperty("mail.transport.protocol",protocol);//服务器地址

    properties.setProperty("mail.smtp.host",host);//身份认证

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

    properties.put("mail.smtp.ssl.enable", "true");//创建邮件会话

    Session session =Session.getInstance(properties);returnsession;

    }//构建邮件消息

    public static Message createMessage(Session session) throwsException{

    MimeMessage message= newMimeMessage(session);//设置主题

    message.setSubject("这是一个测试报告");//设置文本消息

    message.setText("这是测试文件,请勿回复!");//设置发送地址

    message.setFrom(newInternetAddress(from_username));/***设置收件人地址

    * Message.RecipientType.BCC :The "Bcc" (blind carbon copy) recipients.(“密件抄送”接收者)

    * Message.RecipientType.CC :The "Cc" (carbon copy) recipients.“抄送”接收者

    * Message.RecipientType.TO :The "To" (primary) recipients.“收件人”(主要)收件人。*/message.setRecipients(Message.RecipientType.TO,recipient);returnmessage;

    }//发送邮件正文内容为HTML格式

    public static MimeBodyPart createHtmlContent() throwsException{

    MimeBodyPart bodyPart= newMimeBodyPart();

    bodyPart.setContent(htmlString,"text/html;charset=UTF-8");returnbodyPart;

    }//发送单个附件内容

    public static MimeBodyPart createAttach() throwsException{

    MimeBodyPart bodyPart= newMimeBodyPart();/*** 实现一个封装文件的简单 DataSource 对象。它通过 FileTypeMap 对象提供数据分类服务

    * FileTypeMap是一个抽象类,为文件提供数据键入接口*/FileDataSource dataSource= new FileDataSource(newFile(attach));/*** 数据处理程序

    * 创建引用指定 DataSource 的 DataHandler 实例。数据以字节流的形式存在。

    * DataSource 将提供一个 InputStream 来访问数据*/DataHandler dataHandler= newDataHandler(dataSource);//添加邮件主体中

    bodyPart.setDataHandler(dataHandler);//设置附件名称,MimeUtility.encodeText可以处理乱码问题

    bodyPart.setFileName(MimeUtility.encodeText(dataSource.getName()));returnbodyPart;

    }//测试

    public static voidmain(String[] args){

    SendEmail.sendEmail();

    }

    }

    展开全文
  • java 通过163端口发送邮件 163设置里打开 POP3/SMTP/IMAP否则发送不了
  • JAVA实现邮件发送

    千次阅读 2020-07-04 22:52:37
    一、邮件服务器与传输协议 要在网络上实现邮件...SMTP协议:通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。 POP3协议:通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP
  • JAVA使用代理发送邮件

    2021-10-11 16:32:41
    JAVA 通过socket代理发送邮件场景解决方案 场景 内网无网络访问权限,实现外网邮箱的邮件发送。 解决方案 1、创建socket代理,并设置无需认证 2、设置javamail 参数
  • 最近项目中有个需求,需要写一个接口,即在本地局域网内发送邮件。于是上网百度了一番,有很多借鉴,但大部分都是在本地发送邮件到外网服务器,比如什么QQ,新浪或搜狐邮箱等。但还是吸取了不少有用的东西,也可谓是...
  • 本文实例为大家分享了Java通过stmp协议发送邮件的具体代码,供大家参考,具体内容如下pom.xml 导入包org.springframework.bootspring-boot-starter-mail2.1.7.RELEASEapplication.properties 配置信息## 邮箱配置#...
  • 使用HMAILSERVER搭建邮件服务器,这个是在windows Server搭建服务器,我是参考的这篇。 注: 安装hMail Server的过程中 需要安装数据库,用于保存 注册的邮件账号密码等。我安装的是MySql数据库。安装32位的mySql最...
  • 内网系统通过跳板机往外网发送邮件和短信,内网系统实现业务数据的处理和httpclient传递参数,跳板机上部署程序实现参数的接收。 1、使用httpclient传递数据,HttpClientUtil 工具类为: import java.io....
  • 机器: A 内网linux服务器 1台 B 可连接外网的服务器 1台 上面两台服务器可互通 邮件: 使用的25端口的smtp方式发送 需求: 因为内网服务器无法连接外网,所以无法发送邮件。 想通过A(内网服务器)经过B(外网服务器...
  • springboot整合jms进行邮件发送,里面包含了常见的txt格式,html格式,以及图片,附件等。新手必备!
  • 主要为大家详细介绍了java中javamail收发邮件实现方法,实例分析了javamail的使用方法与相关注意事项,非常具有实用价值,感兴趣的小伙伴们可以参考一下
  • 最近项目需要用网易企业邮箱发送邮件,特意来将实现过程记录一下:maven导入jar包1 2 3 javax.activation4 activation5 1.16 7 8 javax.mail9 mail10 1.4.511 ...
  • I followed this post Sending Email in Android using JavaMail API without using the default/built-in app to send mails without intents. it works ok. but my question is if you can send mail without havi...
  • I am stuck behind a corporate firewall that won't let me send email via conventional means such as Java Mail API or Apache Commons Email, even to other people inside the organization(which is all I wa...
  • java 发送邮件

    2021-01-23 20:17:41
    pom.xml, 不要有其他的邮件相关包, 以免冲突。 <dependency > <groupId >com.sun.mail </groupId > <artifactId >javax.mail </artifactId > <version >1.5.4 </...
  • 当前位置:我的异常网» Lotus»内网用程序(最好java)直接向 Lotus Notes 发邮件内网用程序(最好java)直接向 Lotus Notes 发邮件的思路解决方案(2)www.myexceptions.net网友分享于:2015-08-26浏览:378次int index...
  • java 收发邮件(带附件发送和附件解析) 1.java 发送邮件 收发邮件所需要的jar包。 <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <...
  • 今天很高兴,做好了邮件服务...在有用户给我反应说点击邮件发送后页面一直没反应了,我还在觉得在我电脑上测了的,没问题,于是我开始检查日志,结果就发现了这个错误:org.springframework.mail.MailSendException:...
  • 目录一、目标介绍这篇博文记录学习使用Java实现类似QQ发送邮件的客户端,打算分为上下两篇完成,上篇从零开始学习,认识计算机网络邮件传输协议(SMTP、POP3),并开通QQ邮箱的smtp/pop3服务,为之后程序设计做准备,...
  • 下载后解压,将mail.jar和activation.jar放到project里的lib文件夹中,为其配置环境变量...project里有三个类:入口类(TestJavaMail)、邮件信息类(MailBean)和发送邮件类(SendMail)MailBean.javapackagetest3;import...
  • 1. 效果发送效果图连续发送了四封邮件:普通文本邮件,带附件的邮件,内容包含图片的邮件发送html邮件。普通文本邮件截图带附件的邮件截图内容包含图片的邮件截图(图片太大,就截取一部分)发送html邮件截图2. 邮件...
  • 由于网络中邮件管理系统繁多、业务需求多变,基于各邮件服务器的邮件管理系统...本邮件系统的基本功能包括:用户登录、通讯录管理、邮件收取、邮件发送、查看邮件邮件的管理功能。本文从软件体系结构设计模式的角...
  • } } 注:和http模块平级,因为发送邮件必须得用smtp协议,http协议不管用,nginx默认加载http模块用以转发http协议 3.补充nginx安装流程: 1.下载nginx压缩包 2.解压nginx 3.在解压包里面输入./configure --prefix...
  • System.out.println("发送完毕!"); } catch (MessagingException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } 25秒超时后报错如下: org.springframework.mail....
  • java 使用代理发邮件

    2017-03-08 15:11:00
    java发送邮件功能支持代理,但是不支持http代理,支持sock代理(支持SOCKS V4或V5协议)并且连接代理不需要用户名和密码。 使用的是JDK版本需要1.5或者更高,javaMail包必须是1.4.5或者更新,可以用mail.smtp....
  • Linux | zabbix | 实战篇(一步步带你到邮件报警) 一、本章环境: Zabbix3.4.8服务器OS:Centos7.6x86_64 邮件服务器OS:Windows10x86_64 邮件客户端OS:Windows10x86_64 zabbix客户端:OS:Centos7.6x86_64...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,990
精华内容 1,596
关键字:

内网java发送邮件

java 订阅