邮件服务器作用:1.接收和发送邮件2.提供写邮件的服务
base64Util:
package com.test.javamail;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import sun.misc.BASE64Encoder;
public class Base64Util {
/**
* @param args add by zxx ,Dec 30, 2008
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BASE64Encoder encoder = new BASE64Encoder();
System.out.println("please input user name:");
String username = new BufferedReader(
new InputStreamReader(System.in))
.readLine();
System.out.println(encoder.encode(username.getBytes()));
System.out.println("please input password:");
String password = new BufferedReader(
new InputStreamReader(System.in))
.readLine();
System.out.println(encoder.encode(password.getBytes()));
}
}
smtp协议之间通讯的内容:
>>ehlo 服务器A的账号 //ehlo
<<auth login plain
>>auth login
<<
>>base64 username
<<
>>base64 password
<<
>>mail from :<服务器A的账号@sina.com>
<<
>>rcpt to:<服务器B的账号@sohu.com>
<<
>>data
from:<[email protected]>
to:xx
subject:
date:
content!!!
.
<<
>>quit
注:此文本为smtp协议通讯的过程
from 到 . 中间的为内容, .为结尾
quit为退出
注:
1.邮件通用网络端口25
2.ehlo ip地址
可以分别是邮件服务器还是普通客户端
原理:输入的ip地址,是邮件服务器,就输入邮件服务器的名称,它就会用DNS进行反向解析,看邮件服务器解析出来的ip地址和电脑的ip地址是否相同,若相同,则认为是邮件服务器.不是这种情况,则认为是普通邮件客户端