/* Author: Julie Romm * Course: COM3336 * Professor: Karl Lieberherr * Homework 3, part 2 */ /* File: EMail.java * Classes implemented: EMail * * Purpose: * This class is used for sending email to a specified recipient * (Resources used: http://ada.tactika.com/realhome/realhome.html) */ import java.io.*; import java.net.*; public class EMail { //constructor public EMail(){} public void sendMail(String mailServer, String sender, String recipient, String subject, BufferedReader br) { try { Socket s = new Socket(mailServer, 25); BufferedReader in = new BufferedReader (new InputStreamReader(s.getInputStream(), "8859_1")); BufferedWriter out = new BufferedWriter (new OutputStreamWriter(s.getOutputStream(), "8859_1")); send(in, out, "HELO theWorld"); send(in, out, "MAIL FROM: <" + sender + ">"); send(in, out, "RCPT TO: " + recipient); send(in, out, "DATA"); send(out, "Subject: " + subject); send(out, "From: WebWatch"); send (out, "\n"); // message body String line = br.readLine(); while( line!= null) { send(out, line); send(out, "\n"); line = br.readLine(); } send(out, "\n.\n"); send(in, out, "QUIT"); s.close(); } catch (Exception e) { e.printStackTrace(); } } private void send(BufferedReader in, BufferedWriter out, String s) { try { out.write(s + "\n"); out.flush(); // System.out.println(s); s = in.readLine(); // System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } private void send(BufferedWriter out, String s) { try { out.write(s + "\n"); out.flush(); // System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } }