⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smtp_transmitmailtoanotherserver.java

📁 用java实现的邮件服务器(Server 文件夹 用户名 文件夹 Send receive 文件夹 文件 时间.txt. 日志文件
💻 JAVA
字号:
package Server.SMTP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

import Server.Server;


public class SMTP_TransmitMailToAnotherServer extends Server {
	private Socket socket;
	private Socket socketTransmit;
	private String address; 

	public SMTP_TransmitMailToAnotherServer(Socket socket,String address) {
		super();
		this.socket=socket;
		this.address = address;
	}
	
	public void startTransmit(){
		
		try {
			socketTransmit=new Socket(address,25);
			BufferedReader br = new BufferedReader(new InputStreamReader(socket
					.getInputStream()));
			PrintWriter pw = new PrintWriter(new OutputStreamWriter(socketTransmit
					.getOutputStream()), true);			
			String str = null;
			while ((str = br.readLine()) != null) {
				System.out.println(str);
				if (str.startsWith(SMTP_Final.data)) {
					// 开始读取邮件的内容,读取并将其发送到转发服务器的socket,遇到“.”停止文件的读取
					pw.println("354");					
					while (!(str = br.readLine())
							.equalsIgnoreCase(SMTP_Final.endData)) {
						pw.println(str);
						pw.flush();
					}
					
					pw.println("250");
				} else if (str.startsWith(SMTP_Final.quit)) {
					// 整个OutLookClient对话结束
					pw.println("221");
					break;
				} else {
					// 对其他想不到的情况的处理
					pw.println("554");
					socket.close();
					break;
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -