Αποστολή e-mail με Java

Αυτή η ιστοσελίδα φιλοδοξεί να σας βοηθήσει να φτιάξετε ένα πρόγραμμα για να στέλνετε e-mail, σχεδόν όπως το κάνει π.χ. το ... «Outlook Express» ή το «Microsoft Outlook».
Ο οργανισμός apache στο πρότζεκτ Commons ανέπτυξε μία βιβλιοθήκη κλάσεων με το όνομα Email. Στηρίζεται πάνω στις κλάσεις του JavaMail API με σκοπό να τις απλοποιήσει. Πράγματι, οι κλάσεις του JavaMail API είναι δύσκολες, δυσνόητες και γι`αυτό μην επιχειρήσετε να τις χρησιμοποιήσετε άμεσα.

Υποθέστε οτι ο Αλέκος (alekos@hol.gr) θέλει να στείλει e-mail στον Πάνο (panos@yahoo.com) αλλά δεν διαθέτει το κατάλληλο πρόγραμμα. Θα χρησιμοποιήσει ότι πρόχειρο βρει στη κουζίνα του υπολογιστή του. Τι άλλο Java.
Για τον σκοπό του θα χρειαστεί πρόσβαση σε έναν «SMTP mail server» (σέρβερ αποκλειστικά για αποστολή μηνυμάτων). Θα χρησιμοποιήσει τον server του Πανελληνίου Σχολικού Δικτύου (mx.att.sch.gr) για τον οποίο διαθέτει (άγνωστο πώς) τα συνθηματικά anefadis και qwe12 (user name και password αντίστοιχα) (μην τα δοκιμάσετε, δεν ισχύουν).

Προκαταρκτικές Εργασίες

Καταρχάς θεωρούμε οτι υπάρχει η Java στον υπολογιστή μας και μπορούμε να την δουλέψουμε από το command prompt (dos).
Οι κλάσεις που θα χρησιμοποιήσουμε δεν είναι, προς το παρόν, μέρος της βασικής βιβλιοθήκης της Java και γι`αυτό θα πρέπει να τις κατεβάσουμε από το Internet.
Λεπτομέρειες

Λύση κονσόλας (από command prompt)

το αρχείο AploMail.java
import org.apache.commons.mail.*;
public class AploMail { public void apostoliMail()
{
SimpleEmail email = new SimpleEmail();
email.setHostName ("mx.att.sch.gr");
email.setAuthentication ("anefadis", "qwe12");
email.setCharset ("utf-8"); // για να διαβάζονται τα ελληνικά email.setSubject ("Δοκιμαστικό");
try { email.addTo ("panos@yahoo.com", "Πάνος");
email.setFrom ("alekos@hol.gr", "Αλέκος");
email.setMsg ("Κείμενο για αποστολή");
email.send();
System.out.println ("mail sent");
}
catch (EmailException episodio)
{
System.out.println ("error");
}
}


public static void main (String[] parametri)
{
AploMail grama = new AploMail();
grama.apostoliMail(); } }

C:\Dokuments and Settings\alekos> cd \myjava
C:\myjava>

C:\myjava> javac AploMail.java
C:\myjava>

C:\myjava> java AploMail
mail sent
C:\myjava>

Αν έχετε τους κωδικούς του Πάνου μπορείτε να ελέγξετε αν παρελήφθη το μήνυμα. Προσοχή! Μην απογοητευθείτε αν δεν το βρείτε στα εισερχόμενα. Μερικοί σέρβερς αργούν να τα στείλουν στον προορισμό τους.
good luck