-
2021-12-22 15:41:13
将参数E_ACCOUNT 和 E_PAW 替换成对应的腾讯企业邮箱的账号和密码
直接调用方法mailSend(目标邮箱地址,邮件标题,邮件内容)
需要导入JAR包 javax.mail.jar
package com.util; import com.sun.mail.util.MailSSLSocketFactory; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.security.GeneralSecurityException; import java.util.Date; import java.util.Properties; public class SendEamil { private Properties prop = null; private MimeMessage mimeMessage; final String E_ACCOUNT = ""; final String E_PAW = ""; private void init(){ try { prop = new Properties(); prop.setProperty("mail.transport.protocol", "smtp"); prop.setProperty("mail.smtp.host", "smtp.exmail.qq.com"); //服务器 prop.setProperty("mail.smtp.port", "465"); //端口 prop.setProperty("mail.smtp.auth", "true"); //使用smtp身份验证 //使用SSL,企业邮箱必需! //开启安全协议 MailSSLSocketFactory sf = null; try { sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); } catch (GeneralSecurityException e1) { e1.printStackTrace(); } prop.put("mail.smtp.ssl.enable", "true"); prop.put("mail.smtp.ssl.socketFactory", sf); // //获取Session对象 Session session = Session.getDefaultInstance(prop,new Authenticator() { //此访求返回用户和密码的对象 @Override protected PasswordAuthentication getPasswordAuthentication() { PasswordAuthentication pa = new PasswordAuthentication(E_ACCOUNT, E_PAW); return pa; } }); //设置session的调试模式,发布时取消 //session.setDebug(true); mimeMessage = new MimeMessage(session); mimeMessage.setFrom(new InternetAddress(E_ACCOUNT,E_ACCOUNT)); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws MessagingException, GeneralSecurityException { SendEamil SendEamil = new SendEamil(); SendEamil.mailSend("email@qq.com", "异常通知", "中央缓存宕机"); } /** * 发送邮件 */ public void mailSend(String recEmail,String subject,String text){ try { if(prop == null){ init(); } mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(recEmail)); mimeMessage.setSubject(subject); //设置主题 mimeMessage.setSentDate(new Date()); mimeMessage.setText(text); //设置内容 mimeMessage.saveChanges(); Transport.send(mimeMessage); //发送 } catch (Exception e) { e.printStackTrace(); } } }
更多相关内容 -
python3使用腾讯企业邮箱发送邮件的实例
2021-01-01 04:26:442.确保腾讯企业邮箱中开启了SMTP服务: 3.示例代码: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.utils import formataddr # 发件人邮箱... -
php 腾讯企业邮箱发送邮件
2018-08-06 13:32:59php用腾讯企业邮箱发送邮件,简易易懂,只需将配置信息修改成自己的即可使用,配置超简单,只要会基础的php语言,懂点逻辑都知道 -
阿里企业邮箱发送邮件代码
2020-07-08 10:40:34C#、ASP.NET 完整版 阿里企业邮箱发送邮件代码,代码清晰易懂,简洁明了,只需要配置自己的信息即可使用!!! -
腾讯企业邮箱发送邮件Java
2021-12-13 17:16:43package com.union.voiceandtextreceiver.component; import com.sun.mail.util.MailSSLSocketFactory; ... import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation..package com.union.voiceandtextreceiver.component; import com.sun.mail.util.MailSSLSocketFactory; import com.union.voiceandtextreceiver.model.EmailMsgMdl; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.*; import javax.mail.internet.*; import java.io.File; import java.io.UnsupportedEncodingException; import java.security.GeneralSecurityException; import java.util.Date; import java.util.Properties; @Component public class MailUtil { private static final Logger logger = Logger.getLogger(MailUtil.class); @Value("${spring.mail.host}") private String mailhost; @Value("${spring.mail.username}") private String mailusername; @Value("${spring.mail.password}") private String mailpassword; @Value("${spring.mail.port}") private String mailport; public String password = mailpassword;//"TXzUeNDAUhYGjxSw";// 登录密码 public String protocol = "smtp";// 协议 private String theme = "通知"; //初始化参数 public Session initProperties() { Properties properties = new Properties(); properties.setProperty("mail.transport.protocol", protocol); properties.setProperty("mail.smtp.host", mailhost); properties.setProperty("mail.smtp.port", mailport); // 使用smtp身份验证 properties.put("mail.smtp.auth", "true"); // 开启安全协议,使用SSL,企业邮箱必需 MailSSLSocketFactory mailSSLSocketFactory = null; try { mailSSLSocketFactory = new MailSSLSocketFactory(); mailSSLSocketFactory.setTrustAllHosts(true); } catch (GeneralSecurityException e) { e.printStackTrace(); } properties.put("mail.smtp.enable", "true"); properties.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory); properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.put("mail.smtp.socketFactory.fallback", "false"); properties.put("mail.smtp.socketFactory.port", mailport); Session session = Session.getDefaultInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(mailusername, mailpassword); } }); // session.setDebug(true); return session; } public void sendSimpleMail( EmailMsgMdl messageMdl){ email(messageMdl.getMailTo(),messageMdl.getMailTitle(),messageMdl.getMailContent(),null); } public void email(String emailTo, String title, String content, String[] fileNames) { try { Session session = initProperties(); MimeMessage mimeMessage = new MimeMessage(session); mimeMessage.setFrom(new InternetAddress(mailusername, mailusername));// 发件人,可以设置发件人的别名 // 收件人,多人接收,emailTo 逗号分隔 InternetAddress[] internetAddressTo = InternetAddress.parse(emailTo); mimeMessage.setRecipients(Message.RecipientType.TO, internetAddressTo); // 主题 if (StringUtils.isEmpty(title)){ mimeMessage.setSubject(theme); }else{ mimeMessage.setSubject(title); } // 时间 mimeMessage.setSentDate(new Date()); // 容器类 附件 MimeMultipart mimeMultipart = new MimeMultipart(); // 可以包装文本,图片,附件 if (!StringUtils.isEmpty(content)){ MimeBodyPart bodyPart = new MimeBodyPart(); // 设置内容 getEmailHtml是邮箱内容模板 bodyPart.setContent(content, "text/html; charset=UTF-8"); mimeMultipart.addBodyPart(bodyPart); } if (!StringUtils.isEmpty(fileNames) && fileNames.length > 0){ for (String fileName:fileNames) { File attachFile = new File(fileName); if (attachFile.exists()){ MimeBodyPart attachPart = new MimeBodyPart(); FileDataSource fileDataSource = new FileDataSource(attachFile); attachPart.setDataHandler(new DataHandler(fileDataSource)); attachPart.setFileName(MimeUtility.encodeText(fileDataSource.getName())); mimeMultipart.addBodyPart(attachPart); }else{ logger.error("邮件附件文件 {} 不存在"+fileName); return; } } } mimeMessage.setContent(mimeMultipart); mimeMessage.saveChanges(); Transport.send(mimeMessage); } catch (MessagingException | UnsupportedEncodingException e) { e.printStackTrace(); logger.error("发送邮件失败:" + emailTo + " ----" + e.getMessage()); } } }
EmailMsgMdl类:
package com.union.voiceandtextreceiver.model; public class EmailMsgMdl { String mailTo; String mailTitle; String maileCc; String mailContent; String fromMailAddr; public String getMailTo() { return mailTo; } public void setMailTo(String mailTo) { this.mailTo = mailTo; } public String getMailTitle() { return mailTitle; } public void setMailTitle(String mailTitle) { this.mailTitle = mailTitle; } public String getMaileCc() { return maileCc; } public void setMaileCc(String maileCc) { this.maileCc = maileCc; } public String getMailContent() { return mailContent; } public void setMailContent(String mailContent) { this.mailContent = mailContent; } public String getFromMailAddr() { return fromMailAddr; } public void setFromMailAddr(String fromMailAddr) { this.fromMailAddr = fromMailAddr; } }
-
Java实现阿里云企业邮箱发送邮件
2021-07-26 17:36:54Java实现阿里云企业邮箱发送邮件 先了解一下基本的配置元素概念: POP3: POP3是Post Office Protocol3 的简称, 即邮局协议的第3个版本, 它规定怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的保密...Java实现阿里云企业邮箱发送邮件
先了解一下基本的配置元素概念:
POP3:
- POP3是Post Office Protocol3 的简称, 即邮局协议的第3个版本, 它规定怎样将个人计算机连接到 Internet 的邮件服务器和下载电子邮件的保密协议。它是因特网电子邮件的第一个离线协议标准, POP3允许用户从服务器上把邮件存储到本地主机(自己的计算机上), 同时删除保存在邮件服务器上的邮件, 而POP3服务器则是遵循POP3协议的接收邮件服务器, 用来接收电子邮件的。
SMTP:
- SMTP的全称是"Simple Mail Transfer Protocol", 即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范, 通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP协议簇, 它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议发送邮件的服务器。
- SMTP 认证, 简单说就是要求必须在提供账户名和密码之后才可以登陆SMTP服务器, 这就使得那些垃圾邮件的散播者无可乘之机。增加SMTP认证的目的是为了使用户避免收到垃圾邮件的干扰。
代码实现流程
- 引入的包
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
- 邮箱信息配置文件
smtpServer=smtp.aliyun.com port=465 fromUserName=你的阿里邮箱账号 fromUserPassword=你的邮箱密码
这里注意, 如果你使用的是阿里的企业邮箱, 应该使用企业的域名地址: smtp.qiye.com
- 邮箱实体类(设置邮箱, 邮件的相关信息)
public class EmailInfo { private final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; private String smtpServer; // SMTP服务器地址 private String port; // 端口 private String fromUserName; // 登录SMTP服务器的用户名,发送人邮箱地址 private String fromUserPassword; // 登录SMTP服务器的密码 private String toUser; // 收件人 private String subject; // 邮件主题 private String content; // 邮件正文 public EmailInfo() { } public EmailInfo(String toUser, String subject, String content) { this.toUser = toUser; this.subject = subject; this.content = content; this.smtpServer = Global.getConfig("smtpServer");//Global 获取配置文件信息 this.port = Global.getConfig("port"); this.fromUserName = Global.getConfig("fromUserName"); this.fromUserPassword = Global.getConfig("fromUserPassword"); } //get、set方法略 }
- 发送邮件的工具类
public class EmailUtil { public static boolean sendHtmlMail(EmailInfo emailInfo) { Properties properties = new Properties(); properties.put("mail.smtp.host", emailInfo.getSmtpServer()); properties.put("mail.transport.protocol", "smtp"); properties.put("mail.smtp.auth", "true"); properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); // 使用JSSE的SSL properties.put("mail.smtp.socketFactory.fallback", "false"); // 只处理SSL的连接,对于非SSL的连接不做处理 properties.put("mail.smtp.port", emailInfo.getPort()); properties.put("mail.smtp.socketFactory.port",emailInfo.getPort()); Session session = Session.getInstance(properties); session.setDebug(true); MimeMessage message = new MimeMessage(session); try { // 发件人 Address address = new InternetAddress(emailInfo.getFromUserName()); message.setFrom(address); // 收件人 Address toAddress = new InternetAddress(emailInfo.getToUser()); message.setRecipient(MimeMessage.RecipientType.TO, toAddress); // 设置收件人,并设置其接收类型为TO // 主题 message.setSubject(emailInfo.getSubject()); // 时间 message.setSentDate(new Date()); Multipart multipart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart BodyPart html = new MimeBodyPart(); // 设置HTML内容 html.setContent(emailInfo.getContent(), "text/html; charset=utf-8"); multipart.addBodyPart(html); // 将MiniMultipart对象设置为邮件内容 message.setContent(multipart); message.saveChanges(); } catch (Exception e) { e.printStackTrace(); return false; } try { Transport transport = session.getTransport("smtp"); transport.connect(emailInfo.getSmtpServer(), emailInfo.getFromUserName(), emailInfo.getFromUserPassword()); transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); return false; } return true; } }
- 测试
public static void main(String[] args) { EmailInfo info = new EmailInfo("1122211122@qq.com", Global.getConfig("email_user_add_subject"), "<p>这是一个测试邮件</p>"); EmailUtil.sendHtmlMail(info); }
-
Java通过腾讯企业邮箱发送邮件
2018-09-15 12:52:25Java通过腾讯企业邮箱发送邮件 企业邮箱需要使用ssl private static String account = "企业邮箱账户";// 登录账户 private static String password = "企业邮箱密码";// 登录密码 ...Java通过腾讯企业邮箱发送邮件
-
企业邮箱需要使用ssl
private static String account = "企业邮箱账户";// 登录账户 private static String password = "企业邮箱密码";// 登录密码 private static String host = "smtp.exmail.qq.com";// 服务器地址 private static String port = "465";// 端口 private static String protocol = "smtp";// 协议 //初始化参数 public static Session initProperties() { Properties properties = new Properties(); properties.setProperty("mail.transport.protocol", protocol); properties.setProperty("mail.smtp.host", host); properties.setProperty("mail.smtp.port", port); // 使用smtp身份验证 properties.put("mail.smtp.auth", "true"); // 使用SSL,企业邮箱必需 start // 开启安全协议 MailSSLSocketFactory mailSSLSocketFactory = null; try { mailSSLSocketFactory = new MailSSLSocketFactory(); mailSSLSocketFactory.setTrustAllHosts(true); } catch (GeneralSecurityException e) { e.printStackTrace(); } properties.put("mail.smtp.enable", "true"); properties.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory); properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.put("mail.smtp.socketFactory.fallback", "false"); properties.put("mail.smtp.socketFactory.port", port); Session session = Session.getDefaultInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(account, password); } }); // 使用SSL,企业邮箱必需 end // TODO 显示debug信息 正式环境注释掉 session.setDebug(true); return session; } // @param sender 发件人别名 // @param subject 邮件主题 //@param content 邮件内容 //@param receiverList 接收者列表,多个接收者之间用","隔开 //@param fileSrc 附件地址 public void send(String sender, String subject, String content, String receiverList, String fileSrc) { try { Session session = initProperties(); MimeMessage mimeMessage = new MimeMessage(session); mimeMessage.setFrom(new InternetAddress(account, sender));// 发件人,可以设置发件人的别名 // 收件人,多人接收 InternetAddress[] internetAddressTo = new InternetAddress().parse(receiverList); mimeMessage.setRecipients(Message.RecipientType.TO, internetAddressTo); // 主题 mimeMessage.setSubject(subject); // 时间 mimeMessage.setSentDate(new Date()); // 容器类 附件 MimeMultipart mimeMultipart = new MimeMultipart(); // 可以包装文本,图片,附件 MimeBodyPart bodyPart = new MimeBodyPart(); // 设置内容 bodyPart.setContent(content, "text/html; charset=UTF-8"); mimeMultipart.addBodyPart(bodyPart); // 添加图片&附件 bodyPart = new MimeBodyPart(); bodyPart.attachFile(fileSrc); mimeMultipart.addBodyPart(bodyPart); mimeMessage.setContent(mimeMultipart); mimeMessage.saveChanges(); Transport.send(mimeMessage); } catch (MessagingException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
-
-
Java实现网易企业邮箱发送邮件
2019-03-04 17:00:00最近项目需要用网易企业邮箱发送邮件,特意来将实现过程记录一下: maven导入jar包 1 <!-- javax.mai 核心包 --> 2 <dependency> 3 <groupId>javax.activation</groupId> 4 <... -
如何使用安卓+qq邮箱+腾讯企业邮箱发送邮件
2021-06-05 11:14:11如何使用安卓+qq邮箱发送邮件 前言 前段时间由于项目的需要,就是在Android应用里的用户反馈功能需要当用户输入反馈的文本信息后,用户点击提交按钮自动把反馈的文本信息已发送邮件的形式发送给开发者。 要实现这... -
python3使用腾讯企业邮箱发送邮件
2018-09-19 00:25:561.腾讯企业邮箱SMTP服务器...2.确保腾讯企业邮箱中开启了SMTP服务: 3.示例代码: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.utils... -
QQ企业邮箱发送邮件
2018-07-31 19:07:37发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465 海外用户可使用以下服务器 接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995 发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465 ... -
SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件
2019-04-25 16:52:40###JavaMail是Java开发中邮件处理的开源类库,支持常用协议如:SMTP、POP3、IMAP 一、SpringBoot整合 1、需要在pom文件中添加依赖spring-boot-starter-mail <dependency> <groupId>org.spring... -
如何配置QQ邮箱或腾讯企业邮箱发送邮件
2020-05-14 14:03:59发送邮件的邮箱:你的邮箱 发送邮件的邮箱密码:生成的授权码 亿夏内容提醒管理系统 配置文件内容 #服务器主机名 mail.smtp.host=smtp.qq.com #你的邮箱地址 mail.smtp.username=xxxxxxxxx@qq.com #你的授权码 mail... -
Java实现网易企业163邮箱发送邮件
2020-12-17 19:54:32本文介绍两种邮件发送,一个是网易163邮箱,另一个是网易企业163邮箱 项目地址:https://github.com/su1573/mail-send 一、登录邮箱设置 网易163邮箱 1、登录个人163邮箱,如图选中POP3/SMTP/IMAP 2、开启POP3/... -
javamail腾讯企业邮箱发送邮件
2016-12-22 13:43:00下载之后,把这个压缩文件解压,得到两个jar包去覆盖jdk安装目录下的jre\lib\security\下相同的jar包就能解决java8的邮件发送问题。 public static void main(String[] args) throws Exception { ... -
php使用QQ邮箱发送邮件
2020-07-13 16:26:13php中使用QQ邮箱发邮件很简单 容易参考 -
springboot腾讯企业邮箱发送邮件的yml配置
2022-04-08 14:13:21springboot腾讯企业邮箱发送邮件的yml配置 spring: mail: default-encoding: UTF-8 host: smtp.exmail.qq.com port: 587 username: ***@qq.com password: ******** properties: mail: smtp: auth: true ... -
python 使用腾讯企业邮箱发送邮件
2020-12-04 01:56:13概述使用flask_mail 模块中碰到问题,于是使用基础的smtplib模块进行调试以前搞过QQ邮箱,代码找不到了,为此这次记录下方便以后复制粘贴如果简单的...QQ邮箱及腾讯企业邮箱都要使用授权码进行python登陆腾讯邮箱... -
qqmailapi:腾讯企业邮箱API接口
2021-05-21 06:41:11腾讯企业邮箱开放协议,包括面向第三方合作应用和面向企业邮用户两类。其中,面向 企业邮用户的开放协议,将提供给企业邮用户丰富的应用接口,用户可以根据这些接口定制 自己统一的企业解决方案。 通过协议接口,... -
腾讯企业邮箱通过Python自动发送邮件
2022-04-19 17:13:57# 发送邮件正文所需包 from email.mime.text import MIMEText # 发送邮件附件所需包 from email.mime.application import MIMEApplication # 更改邮件头部信息所需包(可不加) from email.header import Header # ... -
腾讯企业邮箱使用php通过smtp发邮件
2015-11-02 21:44:58现在大多数主机不支持mail函数,发邮件成了问题,大部分人使用企业邮箱,那么用企业邮箱发送邮件的php代码就在这里了! -
Laravel5.* 使用Smtp发送邮件以及常见报错解决(腾讯企业邮箱、163、QQ、Gmail 等) - Laravel学习网
2021-04-21 08:11:05一、快速解决邮件发送Laravel 提供了非常简单的邮件发送 API,但是文档却不是太清晰,再加上它采用传递闭包(回调函数)的方式调用,导致邮件发送的使用门槛偏高。看文档也是云里雾里,那我们来简单的来讲一下发送邮件... -
phpmailer发送邮件(QQ企业邮箱和163邮箱)
2020-05-28 15:32:54注意:使用个人qq邮箱发送邮箱会被腾讯拦截发送失败 ...第二:QQ企业邮箱配置 1、注册登录QQ企业邮箱:https://exmail.qq.com/onlinesell/intro 2、在邮箱的设置中开启SMTP服务(设置->收发信设置->POP3/SMT -
腾讯企业邮箱发送邮件案例
2019-07-12 18:56:03* @param receiver 接收邮件方的邮箱地址 * @param host 腾讯系统邮箱 systememailhost * @param port 腾讯系统邮箱端口号 systememailport * @param username 管理员邮箱地址 systememailusername * @param ... -
Java腾讯企业邮箱发送邮件
2018-05-14 20:47:07Java通过腾讯企业邮箱发送邮件(多人发送) 企业邮箱需要使用ssl private static String account = “企业邮箱账户”;// 登录账户 private static String password = “企业邮箱密码”;// 登录密码 private ... -
基于phpmailer的企业邮箱发送邮件
2017-10-07 11:01:59加密方式登录鉴权 企业邮箱必须关闭 , 个人邮箱才需要 // $mail->SMTPSecure = 'ssl'; // 设置 ssl 连接 smtp 服务器的远程服务器端口号,以前的默认是 25 ,但是现在新的好像已经不可用了 可选 465 或 587 ...
收藏数
41,587
精华内容
16,634