`
gg19861207
  • 浏览: 180388 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javamail实现邮件发送

阅读更多

大家现在每个人都有自己的邮箱,有的是sina,sohu,126的,平时也都写邮件,但是可能对邮件怎么发送出去的还不是很了解,今天就探讨一下。
发邮件肯定是需要有服务器的,目前很多门户网站都提供邮件发送的服务器,按照邮件传送协议的不同(分为smtp和pop3协议,所以一个门户网站会有两种服务器,smtp邮件服务器和pop3邮件服务器,比如新浪的smtp服务器的地址是smtp.sina.com,新浪pop3的服务器地址是pop.sina.com;而搜狐的对应的则是smtp.sohu.com和pop3,sohu.com。举个例子,当你登录新浪邮箱的时候,相当于新浪给你提供了一个客户端的界面,你发送邮件的时候,用的是smtp协议,将邮件发送给了smtp.sina.com服务器,然后这个服务器在将你的邮件给转发出去;而当别人给你写邮件,你去你的新浪邮箱上查询是否有接受邮件时,用的是pop3协议,你是在和新浪的pop.sina.com服务器打交道,这个服务器会告诉你,你到底有没有收到邮件。
当你知道这些邮件服务器的地址以后,你就可以通过自己用java语言来写一封邮件了,当然前提是你要在这些门户网站申请一个帐户,因为必须有用户名和密码的授权,你才可以和这些门户网站的邮件服务器进行通信。
自己在用java邮件写服务器的时候,会用的一个Jar包,是sun公司专门提供的一个用于写邮件程序的jar包,叫做javmail,下载下来以后就可以参照里面的API文档写相关的邮件程序了,给大家一个例子,大家可以尝试一下:
package com.oristand.mail;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Demo {

/**
* @param args
* @throws MessagingException
*/
@SuppressWarnings("static-access")
public static void main(String[] args) throws MessagingException {
// TODO Auto-generated method stub

Properties props = new Properties();
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.transport.protocol", "smtp");

Session session = Session.getDefaultInstance(props);
session.setDebug(true);


Message message = new MimeMessage(session);
message.setText("你好,我是来自高歌用Java程序写的一封邮件");
message.setFrom(new InternetAddress("father@oristand.com"));

Transport transport = session.getTransport();
transport.connect("smtp.sohu.com",25,"ge_gao_sex", "123456");

transport.sendMessage(message, new Address[]{new InternetAddress("ge_gao@oristand.com")});
transport.close();


}

}


在写完这个程序以后,你会对邮件程序有一个更深的理解,比如说你接受到的邮件显示的发件人并不一定是真的,比如说你的邮件是hhgg-123@126.com,那么你再给abc@126.com发邮件的时候,你完全可以做到让这封邮件显示的发件是一个随意的名字,比如说11111@11111.com(这只代表是一个字符串,没有任何含义),怎么样,很有趣!
这里只是一个抛砖引玉的过程,希望对写邮件程序感兴趣的人可以上网搜集一下相关程序,享受一下!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics