`
Tristan_S
  • 浏览: 378748 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

收发邮件

 
阅读更多
1, 发邮件能用126来发送,并带附件
2, 收邮件只能看到标题, 而且无法判断是新是旧
import java.io.File;
import java.util.Properties;  
  
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Folder;
import javax.mail.Message;  
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;  
import javax.mail.Store;
import javax.mail.Transport;  
import javax.mail.internet.InternetAddress;  
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;  
import javax.mail.internet.MimeMultipart;
  
public class TestJavaMail {  
  
    private static final String MAIL_USER = "abcde15@126.com";   //邮件服务器登录用户名  
    private static final String MAIL_PASSWORD = "password654321";   //邮件服务器登录密码  
    private static final String MAIL_SERVER =  "smtp.126.com"; //邮件服务器
    private static final String FILE_PATH ="c:/test.xls"; //附件路径
    
    private static final String MAIL_TO = "abcde1984@sina.com"; //发送给对方

    private static final String USER_NAME = "abcde15";
    private static final String MAIL_RECEIVER = "pop3.126.com";
    
    public static void sendMail(String mail,String subject,String text) {  
  
        try {  
            Properties props = new Properties();  
            props.put("mail.smtp.host", MAIL_SERVER);  
            props.put("mail.smtp.auth", "true");  
            Session ssn = Session.getInstance(props, null);  
            MimeMessage message = new MimeMessage(ssn);  
            InternetAddress fromAddress = new InternetAddress(MAIL_USER);  
            message.setFrom(fromAddress);  
            InternetAddress toAddress = new InternetAddress(mail);  
            message.addRecipient(Message.RecipientType.TO, toAddress);  
            message.setSubject(subject);  
            message.setText(text);  
            
            /**
             * 增加附件功能
             */
            Multipart mp = new MimeMultipart(); 
            MimeBodyPart mbp=new MimeBodyPart(); 
            FileDataSource fds=new FileDataSource(FILE_PATH); 
            mbp.setDataHandler(new DataHandler(fds)); 
            mbp.setFileName(fds.getName()); 
            mp.addBodyPart(mbp); 
            message.setContent(mp); 
            
            Transport transport = ssn.getTransport("smtp");  
            transport.connect(MAIL_SERVER, MAIL_USER, MAIL_PASSWORD);  
            transport.sendMessage(message, message  
                    .getRecipients(Message.RecipientType.TO));  
            transport.close();  
            System.out.println("你的邮件已发出");  
        } catch (Exception m) {  
            //System.out.println(m.toString());
        	m.printStackTrace();
        }  
    }  
      
    
    public static void receiveMail() {

		try {
			// 1.创建会话
			Properties properties = new Properties();
			properties.put("mail.pop3.host", MAIL_RECEIVER);
			properties.put("mail.pop3.auth", String.valueOf(true));
			Session session = Session.getDefaultInstance(properties,
					new Authenticator() {
						@Override
						protected PasswordAuthentication getPasswordAuthentication() {
							return new PasswordAuthentication(USER_NAME,
									MAIL_PASSWORD);
						}
					});

			// 2.连接pop3服务器
			Store store = session.getStore("pop3");
			store.connect();
			Folder folder = store.getFolder("INBOX");
			folder.open(Folder.READ_ONLY);
			// 3.收取邮件
			Message[] mail = folder.getMessages();
			// 所有邮件个数
			int totalNum = folder.getMessageCount();
			System.out.println("邮件数量:"+totalNum);
			
			for(int i = 0 ; i<totalNum; i++ ){
				System.out.println("----------------------");
				System.out.println("邮件主题:" + mail[i].getSubject());
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		} 

	}
    
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
            //sendMail(MAIL_TO, "测试5", "O(∩_∩)O哈哈~" );  
            receiveMail();
    }  
  
}

分享到:
评论

相关推荐

    java收发邮件完整版

    接收邮件的过程相对复杂,通常涉及以下步骤: 1. **创建会话**:与发送邮件类似,需要创建一个`Session`对象,但这里可能需要设置IMAP或POP3服务器的属性。 2. **获取存储**:根据所选协议,使用`Store.connect()`...

    VB6.0 收发邮件一例,附代码

     发邮件:调用收发邮件设置对话框,撰写新邮件,使用MAPI对话框撰写及发送电子邮件,使用设计的窗体NewMsg撰写及发送电子邮件,在删除当前邮件后,下一封邮件的位置设置为当前位置,这时需要判断该邮件是否已经在子...

    用Delphi2010 实现邮件附件收发功能

    TIdPOP3 是用来接收邮件服务器的邮件信息到用户端的一个组件。它实现了RFC 1939协议。 在使用TIdPOP3组件时需设置它的几个成员属性。 Host :指定邮件服务器,一般为pop3邮件服务器的地址,如 pop3.126.com。 ...

    C#收发邮件系统完整版

    它包含两个主要组件:一个用于接收邮件的POP3客户端程序,另一个是用于发送邮件的SMTP客户端程序。这样的系统通常用于自动化邮件处理,例如自动回复、监控特定邮箱、或者集成到其他业务流程中。 POP3(Post Office ...

    java Exchange收发邮件加附件

    4. **接收邮件** 调用`findItems`方法,传入邮箱的`FolderId`(例如收件箱)和`FindItemsResults&lt;Item&gt;`对象来获取邮件列表。可以指定查询条件,如发件人、主题等。邮件内容可以通过`Item`对象的属性获取。 5. **...

    .net收发邮件例子

    首先,我们需要理解SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)协议,它们分别是发送和接收邮件的标准。 SMTP用于发送邮件,它是互联网上基于TCP/IP的应用层协议。C#中的`...

    spring boot定时任务接收邮件并且存储附件的方法讲解

    关于 Spring Boot 定时任务接收邮件并且存储附件的方法讲解 Spring Boot 是一个基于 Java 的框架,它提供了许多实用的功能,包括定时任务。在 Spring Boot 中实现定时任务非常简单,只需要使用两个注解:`@...

    c#.net收发邮件系统源码(jmail组件开发)

    2. JMail组件:JMail是.NET平台上的一个邮件处理组件,它提供了发送、接收邮件以及处理附件等功能。使用JMail可以简化邮件系统的开发过程,因为它封装了SMTP和POP3等邮件协议的复杂细节。 3. SMTP协议:简单邮件...

    利用winsock类编写的收发邮件程序

    在利用Winsock编写的收发邮件程序中,我们通常会使用SMTP(Simple Mail Transfer Protocol)来发送邮件,以及POP3(Post Office Protocol version 3)或IMAP4(Internet Message Access Protocol version 4)来接收...

    C#使用Pop3接收邮件(可接收163,QQ邮箱等)

    本篇文章将深入探讨如何使用C#通过POP3协议来接收电子邮件,以实现从163、QQ等主流邮箱服务接收邮件的功能。首先,我们要明白POP3(Post Office Protocol version 3)是一种标准的邮件接收协议,它允许用户从邮件...

    收发邮件的类

    SMTP是用于发送邮件的协议,而POP3则用于接收邮件。当你使用电子邮件客户端或程序发送邮件时,它们通常会通过SMTP服务器将邮件传递到目的地。接收邮件时,客户端会连接到POP3服务器来检索新邮件。 二、SMTP服务端...

    Python使用POP3和SMTP协议收发邮件的示例代码

    接收邮件的第一步是连接到POP3服务器,并进行身份验证。以下是一个简单的连接和身份验证的例子: ```python import poplib # 邮箱账号信息 pop3_server = 'pop.qq.com' username = 'test_from_addr@qq.com' ...

    c# HotMail收发邮件

    开发者需要注册应用程序,获取客户端ID和密钥,然后通过授权码流程获取访问令牌,以便在发送和接收邮件时使用。 4. **安全连接**:为了保护用户数据的安全,通常会使用SSL(Secure Socket Layer)或其升级版TLS...

    c#接收邮件 c#接收邮件

    本文将详细讲解如何使用C#来接收邮件,主要关注POP3协议,因为这是最常见的邮件接收方式之一。 POP3(Post Office Protocol version 3)是一种简单但功能强大的协议,用于从邮件服务器下载电子邮件。在C#中,我们...

    自动收发邮件代码.rar .

    2. **IMAP(Internet Message Access Protocol)**:用于接收邮件,它允许用户在不下载邮件的情况下查看邮件服务器上的邮件。 3. **POP3(Post Office Protocol version 3)**:另一种接收邮件的协议,通常用于下载...

    QT编写的邮件收发器SendEmail.tar.gz

    总之,"SendEmail"邮件收发器是利用QT强大的网络和GUI功能构建的,为用户提供了一个简洁的界面来发送和接收邮件。其内部机制涉及到SMTP和IMAP协议的实现,以及QT的网络和UI组件的深度应用,是学习QT编程和邮件通信...

    Delphi邮件大拼盘之接收邮件

    《Delphi邮件大拼盘之接收邮件》 本教程详细介绍了如何使用Delphi编程环境,通过集成的*12343-控件实现邮件的接收功能。这个程序设计简单直观,用户只需输入主机、端口、用户名和密码,就可以进行邮件的连接、列举...

    VB6.0 收发邮件,附代码

    这通常涉及到使用SMTP(Simple Mail Transfer Protocol)服务来发送邮件和POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)服务来接收邮件。下面将详细解释如何使用VB6.0进行邮件...

    java收发邮件的客户端

    `Store`接口用于接收邮件,而`Transport`接口则用于发送邮件。 下面,我们将详细讨论如何使用JavaMail API来实现邮件的收发以及处理附件。 1. 发送邮件: - 创建`Properties`对象并设置SMTP服务器的相关信息,...

Global site tag (gtag.js) - Google Analytics