diff src/goodjava/mail/Smtp.java @ 1584:d3728e3e5af3

mail work
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 11 Mar 2021 01:22:20 -0700
parents 1cc6c7fa803d
children e34b73678a4f
line wrap: on
line diff
--- a/src/goodjava/mail/Smtp.java	Sun Mar 07 02:22:09 2021 -0700
+++ b/src/goodjava/mail/Smtp.java	Thu Mar 11 01:22:20 2021 -0700
@@ -17,30 +17,30 @@
 	private final Writer writer;
 	public final String ehlo;
 
-	public Smtp(Socket socket) throws IOException, SmtpException {
+	public Smtp(Socket socket) throws IOException, MailException {
 		this.socket = socket;
 		this.reader = new InputStreamReader(socket.getInputStream());
 		this.writer = new OutputStreamWriter(socket.getOutputStream());
 		String s = read();
 		if( !s.startsWith("220") )
-			throw new SmtpException(s);
+			throw new MailException(s);
 		write( "EHLO\r\n" );
 		ehlo = read();
 		if( !ehlo.startsWith("250") )
-			throw new SmtpException(ehlo);
+			throw new MailException(ehlo);
 	}
 
-	public String authenticate(String username,String password) throws IOException, SmtpException {
+	public String authenticate(String username,String password) throws IOException, MailException {
 		String s = "\0" + username + "\0" + password;
 		s = GoodUtils.base64Encode(s);
 		write( "AUTH PLAIN " + s + "\r\n" );
 		String r = read();
 		if( !r.startsWith("235") )
-			throw new SmtpException(r);
+			throw new MailException(r);
 		return r;
 	}
 
-	public void send(Message msg) throws IOException, SmtpException {
+	public void send(Message msg) throws IOException, MailException {
 		for( Map.Entry<String,String> entry : msg.headers.entrySet() ) {
 			String name = entry.getKey();
 			String value = entry.getValue();
@@ -59,42 +59,42 @@
 		data( msg.toText() );
 	}
 
-	public void close() throws IOException, SmtpException {
+	public void close() throws IOException, MailException {
 		write( "QUIT\r\n" );
 		String s = read();
 		if( !s.startsWith("221") )
-			throw new SmtpException(s);
+			throw new MailException(s);
 		socket.close();
 	}
 
-	public String from(String address) throws IOException, SmtpException {
+	public String from(String address) throws IOException, MailException {
 		write( "MAIL FROM: " + address + "\r\n" );
 		String r = read();
 		if( !r.startsWith("250") )
-			throw new SmtpException(r);
+			throw new MailException(r);
 		return r;
 	}
 
-	public String to(String address) throws IOException, SmtpException {
+	public String to(String address) throws IOException, MailException {
 		write( "RCPT TO: " + address + "\r\n" );
 		String r = read();
 		if( !r.startsWith("250") )
-			throw new SmtpException(r);
+			throw new MailException(r);
 		return r;
 	}
 
-	public String data(String text) throws IOException, SmtpException {
+	public String data(String text) throws IOException, MailException {
 		if( !text.endsWith("\r\n") )
-			throw new SmtpException("text must end with \\r\\n");
+			throw new MailException("text must end with \\r\\n");
 		text = text.replace("\r\n.","\r\n..");
 		write( "DATA\r\n" );
 		String r = read();
 		if( !r.startsWith("354") )
-			throw new SmtpException(r);
+			throw new MailException(r);
 		write( text + ".\r\n" );
 		r = read();
 		if( !r.startsWith("250") )
-			throw new SmtpException(r);
+			throw new MailException(r);
 		return r;
 	}
 
@@ -107,20 +107,4 @@
 		writer.write(s);
 		writer.flush();
 	}
-
-	public static void main(String[] args) throws Exception {
-		Socket socket = new Socket("smtpcorp.com",2525);
-		Smtp smtp = new Smtp(socket);
-		smtp.authenticate("smtp@luan.software","luanhost");
-		smtp.from("smtp@luan.software");
-		smtp.to(" fschmidt@gmail.com");
-		String text = "\r\n"
-			+"test3\r\n"
-			+".q\r\n"
-			+"x\r\n"
-			+"rg; ;lrg dsl rgj errlgerrg neskrjg skrg rdsg drskrg sd;gr s;kgr skrg skrg sdg ds fg;ks gegr erg ;sg sd; g;sdr gsklrg sg s;kkrg s;hg ;slrg ;elrg ;reg r;g ;r g;er g;ler g;e g; g;r g rg; srkd fjl kj kklsjrg lsk gskdf;rs gkrj glj grekjs lksjgkjn kjslg rklrg ;rsd; kj drsg akrglk kalrgklrsdnrgkgj;r ;s ns b;n;sn ;njslk r;n\r\n"
-		;
-		smtp.data(text);
-		smtp.close();
-	}
 }