java实现基于SMTP发送邮件的方法

本文实例讲述了java实现基于SMTP发送邮件的方法。分享给大家供大家参考。具体实现方法如下:

import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.log4j.Logger;
public class MailUtil {
 private static Logger logger = Logger.getLogger(MailUtil.class);
 /**
  * 发送邮件
  *
  * @param smtp
  *   SMTP服务器
  * @param user
  *   用户名
  * @param password
  *   密码
  * @param subject
  *   标题
  * @param content
  *   邮件内容
  * @param from
  *   发件人邮箱
  * @param to
  *   收件人邮箱
  */
 public static void send(String smtp, final String user,
   final String password, String subject, String content, String from,
   String to) {
  try {
   Properties props = new Properties();
   props.put("mail.smtp.host", smtp);
   props.put("mail.smtp.auth", "true");
   Session ssn = Session.getInstance(props, new Authenticator() {
    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
     return new PasswordAuthentication(user, password);
    }
   });
   MimeMessage message = new MimeMessage(ssn);
   //由邮件会话新建一个消息对象
   InternetAddress fromAddress = new InternetAddress(from);
   //发件人的邮件地址
   message.setFrom(fromAddress);
   //设置发件人
   InternetAddress toAddress = new InternetAddress(to);
   //收件人的邮件地址
   message.addRecipient(Message.RecipientType.TO, toAddress);
   //设置收件人
   message.setSubject(subject);
   //设置标题
   message.setText(content);
   //设置内容
   message.setSentDate(new Date());
   //设置发信时间
   Transport transport = ssn.getTransport("smtp");
   transport.connect(smtp, user, password);
   transport.sendMessage(message, message
     .getRecipients(Message.RecipientType.TO));
   // transport.send(message);
   transport.close();
   logger.info("邮件发送成功");
  } catch (Exception e) {
   logger.warn("邮件发送失败", e);
  }
 }
}

希望本文所述对大家的java程序设计有所帮助。

(0)

相关推荐

  • 提示Outlook/Foxmail收取163邮件失败:ERR 您没有权限使用pop3功能

    用outlook和foxmail总无法接收163邮件,汉,原来是他们不给我使用pop3功能了新申请的163,126邮箱用Jmail发送邮件老是不成功,用Outlook/Foxmail收取邮件也是失败,提示:ERR 您没有权限使用pop3功能.最终在http://help.163.com/找了原因: 复制代码 代码如下: "06年11月份后"新"申请的163免费邮箱暂时无法使用POP和SMTP功能,需要开通邮箱伴侣或参加一些不定期举办的活动后才可以使用客户端功能."

  • 深入Lumisoft.NET组件POP3邮件接收与删除操作的使用详解

    Lumisoft.NET组件是一个非常强大的邮件发送.邮件接收等功能的开源组件,一般用它来处理邮件的相关操作,是非常合适的.之前也写过一些该组件的随笔文章,不过主要是利用来发送邮件居多,最近由于项目需要,需要利用该组件来接收邮件,邮件通过POP3协议进行接收到本地,故对该组件进行了全面的了解和使用.本文主要是在此背景上,介绍该组件的POP3协议处理类的使用.Lumisoft.NET组件2013年作者有做了一定的更新,修复了一些问题,本文是基于该组件的最新版本进行开发使用. 1.POP3登录及头部

  • Java+Nginx实现POP、IMAP、SMTP邮箱代理服务

    这篇文章介绍了Java+Nginx实现POP.IMAP.SMTP邮箱代理服务,我们本次使用的环境为Centos7下,java程序我们通过eclipse导出的war包运行在linux下的tomcat下执行的,具体见下: 环境介绍: Hostname:java.iternalsoft.com IP:192.168.2.163 Roles: Proxy Server OS:Centos7 我们通过以下命令来修改新安装的服务器信息: Hostnamectl set-hostname customname

  • java使用Socket实现SMTP协议发送邮件

    本文实例为大家分享了java 利用Socket实现SMTP协议发送邮件的具体代码,供大家参考,具体内容如下 package mail; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; impo

  • 如何用POP3接收电子邮件?

    <%  Set pop3 = Server.CreateObject( "JMail.POP3" ) pop3.Connect "username", "password", "pop3mail.intels.net"  ' POP3的连接用户名,密码,POP3地址. Response.Write( "你现在有" & pop3.count & " 封邮件.<br>

  • 手工体验smtp和pop3协议 邮件实现详解(二)

    上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍.我们知道电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递必须遵守的规则便是邮件传输协议.SMTP协议定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则.POP3/IMAP协议定义了邮件客户端软件和POP3邮件服务器的通信规则.这篇博客我们就来手工体验SMTP和POP3协议的奥秘. 1.使用Smtp协议手工发送邮件 SMTP

  • java实现基于SMTP发送邮件的方法

    本文实例讲述了java实现基于SMTP发送邮件的方法.分享给大家供大家参考.具体实现方法如下: import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Tra

  • Python基于SMTP发送邮件的方法

    在很多时候,使用 Python 发送邮件可能没有办法使用邮件服务器提供的 API,因为不是所有的邮件服务商都会提供 API 供客户使用的. 通常使用邮件 API 的邮件发送服务都需要额外的收费. 因此我们再邮件测试发送的时候,可能需要的是 SMTP 邮件发送服务,通常这个服务是所有邮件服务商都会提供的. 要使用 SMTP 邮件发送服务,你需要有下面的信息才可以完成和测试: SMTP 邮件服务器的地址,端口,登录用户名和登录用户密码 发送和接收邮件的地址 邮件的主题和正文 看起来是不是有点复杂,实

  • php基于socket实现SMTP发送邮件的方法

    本文实例讲述了php基于socket实现SMTP发送邮件的方法.分享给大家供大家参考.具体分析如下: php采用socket通过SMTP发送邮件. 用的是php的php-sockets扩展,可以发送纯文本和html格式的邮件.代码如下: 复制代码 代码如下: <?php /** * 邮件发送类 * 支持发送纯文本邮件和HTML格式的邮件 * @example * $config = array( *       "from" => "*****", * 

  • Go语言通过smtp发送邮件的方法

    本文实例讲述了Go语言通过smtp发送邮件的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (  "net/smtp"  "fmt"  "strings" ) /*  * user : example@example.com login smtp server user  * password: xxxxx login smtp server password  * host: smt

  • Java实现基于token认证的方法示例

    随着互联网的不断发展,技术的迭代也非常之快.我们的用户认证也从刚开始的用户名密码转变到基于cookie的session认证,然而到了今天,这种认证已经不能满足与我们的业务需求了(分布式,微服务).我们采用了另外一种认证方式:基于token的认证. 一.与cookie相比较的优势: 1.支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的: 2.无状态化,服务端无需存储token,只需要验证token信息是否正确即可,而session需要在服务端存储,一般是通过cookie中的

  • java分布式基于RestTemplate的使用方法

    目录 1.前言 2.RestTemplateget请求及传参 2.1正常get请求不带参 2.2get请求带参使用 2.3编写在线目录扫描脚本 3.RestTemplatepost请求 3.1post请求玩法 3.2mongo-express远程代码执行漏洞脚本编写 4.结尾 1.前言 最近在接触到分布式方面知识的时候,学习了RestTemplate的一些使用.RestTemplate比较常见的就是用来进行一些http请求.本人在使用之后,在语法简洁的同时,感觉非常的方便. 于是乎在后面就想到了

  • Java使用JavaMail发送邮件的方法

    本文实例讲述了Java使用JavaMail发送邮件的方法.分享给大家供大家参考,具体如下: 代码一.Email_Autherticator.java 服务器验证代码 import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class Email_Autherticator extends Authenticator { String username = "你邮箱的用户名"; S

  • asp.net基于windows服务实现定时发送邮件的方法

    本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; public int nowhour; public int minutes; public string sendTime; public Thread th; public string isOpen;//是否启用定时发送 public string strToEUser; public static i

  • Python基于SMTP协议实现发送邮件功能详解

    本文实例讲述了Python基于SMTP协议实现发送邮件功能.分享给大家供大家参考,具体如下: SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件. Python创建SMTP语法如下: imp

  • PHP实现发送邮件的方法(基于简单邮件发送类)

    本文实例讲述了PHP实现发送邮件的方法.分享给大家供大家参考,具体如下: 邮件发送类 <?php /*邮件发送类 *功能:使用smtp服务器发送邮件 */ class smtp { /* 全局变量 */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; var $sock; /* 构造函数 */ fu

随机推荐