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

//引入jar包

<dependency>  
    <groupId>javax.mail</groupId>  
    <artifactId>mail</artifactId>  
    <version>1.4.4</version>  
</dependency> 

//邮件发送的工具类的编写



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);
  }
 }
}



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的标准协议。在Java中,可以使用JavaMail API来实现基于SMTP发送邮件的功能。具体实现步骤如下: 1. 导入JavaMail API相关的依赖库。 2. 创建一个JavaMail session对象,用于与SMTP服务器进行通信。 3. 配置SMTP服务器的相关信息,如服务器地址、端口号、用户名、密码等。 4. 创建一个MimeMessage对象,用于表示待发送的邮件。 5. 设置邮件的发件人、收件人、主题和正文内容。 6. 发送邮件。 下面是一个简单的示例代码,展示了如何使用JavaMail API发送一封邮件: ```java import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class SendEmail { public static void main(String[] args) { // 配置SMTP服务器的相关信息 String host = "smtp.example.com"; String port = "587"; String username = "yourusername"; String password = "yourpassword"; // 设置发件人和收件人 String from = "[email protected]"; String to = "[email protected]"; // 设置邮件主题和正文 String subject = "Hello, World!"; String body = "This is a test email."; // 创建一个Properties对象,用于设置SMTP服务器的配置信息 Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.port", port); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.starttls.enable", "true"); // 创建一个Session对象,用于与SMTP服务器进行通信 Session session = Session.getInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); try { // 创建一个MimeMessage对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject(subject); message.setText(body); // 发送邮件 Transport.send(message); System.out.println("Email sent successfully!"); } catch (MessagingException e) { e.printStackTrace(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值