JavaMail学习笔记-1(简单纯文本的邮件发送)

简单的纯文本邮件发送:

1.本人安装了一个CMailServer5.3来测试邮件的收发。

2.下载接下来需要用到的的jar包,有如下几个:

3.启动Eclipse,建立一个标准的web项目,并在web-info/lib下引入jar包。

4.编写一个邮件输入页面:

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
    
< head >
        
< title > JavaMail1.html </ title >
    
</ head >

    
< body >
        
< form  action ="SEND1"  method ="post" >
            From:
< input  type ="text"  name ="from" >< br >
            TO:
< input  type ="text"  name ="to" >< br >
            Subject:
< input  type ="text"  name ="subject" >< br >
            Context:
< textarea  rows ="4"  cols ="30"  name ="context" ></ textarea >< br >
            
< input  type ="submit"  value ="Send" >
        
</ form >
    
</ body >
</ html >

5.编写sevlet : SEND1.java

package  com.servlet;

import  java.io.IOException;
import  java.io.PrintWriter;
import  java.util.Date;
import  java.util.Properties;
import  javax.mail.Address;
import  javax.mail.Message;
import  javax.mail.Session;
import  javax.mail.Transport;
import  javax.mail.internet.InternetAddress;
import  javax.mail.internet.MimeMessage;
import  javax.servlet.ServletException;
import  javax.servlet.http.HttpServlet;
import  javax.servlet.http.HttpServletRequest;
import  javax.servlet.http.HttpServletResponse;

public   class  SEND1  extends  HttpServlet  {

    
public SEND1() {
        
super();
    }


    
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType(
"text/html");
        PrintWriter out 
= response.getWriter();
        request.setCharacterEncoding(
"gb2312");
        String from 
= request.getParameter("from");
        String to 
= request.getParameter("to");
        String subject 
= request.getParameter("subject");
        String context 
= request.getParameter("context");
        
        
// 确定要发送的邮件服务器的地址
        String mailserver = "codedestiny-pc";
        
        
try {
            
// 设置邮件的传输协议
            Properties prop = System.getProperties();
            prop.put(
"mail.smtp.host", mailserver);
            
            
// 建立邮件发送的连接
            Session session = Session.getDefaultInstance(prop, null);
            
            
// 创建发送的信息的载体
            Message msg = new MimeMessage(session);
        
            
// 设置相关的邮件属性
            msg.setFrom(new InternetAddress(from));
            
            
// 点到点的发送
            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
            
            
/*
             * 群发 msg.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress(to),new InternetAddress(to)}); //借助循环的标准发送
             
*/

            msg.setSubject(subject);
            msg.setSentDate(
new Date());
            msg.setText(context);
            
            
// 发送
            Transport.send(msg);
            
        }
 catch (Exception e) {
            e.printStackTrace();
        }


        out.print(
"send ok");
        out.flush();
        out.close();
    }


}

6.测试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要在发送 HTML 格式的邮件的同时,也需要附加文本格式的邮件,可以使用 JavaMail API 中的 `Multipart` 类来实现。下面是一个示例代码: ```java // 创建邮件会话对象 Properties props = new Properties(); Session session = Session.getDefaultInstance(props); // 创建邮件对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("sender@example.com")); message.setRecipient(Message.RecipientType.TO, new InternetAddress("recipient@example.com")); message.setSubject("Test email"); // 创建 Multipart 对象,并将 HTML 和文本邮件添加到其中 Multipart multipart = new MimeMultipart(); BodyPart htmlBodyPart = new MimeBodyPart(); htmlBodyPart.setContent("<html><body><h1>Hello world!</h1></body></html>", "text/html"); multipart.addBodyPart(htmlBodyPart); BodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setText("Hello world!"); multipart.addBodyPart(textBodyPart); // 将 Multipart 对象设置为邮件的内容 message.setContent(multipart); // 发送邮件 Transport.send(message); ``` 在这个示例中,我们首先创建一个邮件会话对象和一个邮件对象,并设置邮件的基本信息,如发送者、收件人和主题。 然后,我们创建一个 `Multipart` 对象,并将 HTML 和文本邮件添加到其中。为了创建文本邮件,我们使用 `MimeBodyPart` 类并调用 `setText()` 方法。 最后,我们将 `Multipart` 对象设置为邮件的内容,并使用 `Transport` 类的 `send()` 方法发送邮件。 这样,当收件人无法显示 HTML 格式的邮件时,也可以看到附带的文本邮件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值