Wysylanie maila z EJB - poszukiwanie skutecznej biblioteki

0

Witam,
Szukam najprostszego rozwiazania dla wysylania mailow z EJB. To jedna z tych rzeczy jakie mozna wykonac na kilka sposobow. Myslalem, o commons-email, bo wyglada bardzo prosto:
http://commons.apache.org/proper/commons-email/

Moze sa jednak lepsze rozwiazania mocno zwiazane z EJB? Myslalem o JavaMail:
http://ejbvn.wordpress.com/category/week-3-advanced-ejb-applications/day-20-implementing-javamail-in-ejb-applications/
http://www.oracle.com/technetwork/java/javamail/index.html

W tym przypadku mam do czynienia ze standardem. Jak wiadomo, standard nie zawsze jest lepszy. Warto?

0

Commons mail jak zreszta wiekszosc (wszystkie?) znane mi biblioteki Javy do email, korzysta wewnetrznie z JavaMail.

0

A zapytam może inaczej. Czy Java Mail jest na tyle proste, że warto się nim zająć, czy na tyle skomplikowany, że warto szukać abstrakcji, które ułatwiają życie?

0

Wez abstrakcje. JavaMail jest dosc dziwny, nie lubilem w tym nic pisac. Ale to tylko moja opinia. A najlepiej sprawdz sam tutoriale i przykladowe kody, wtedy na sam bedziesz mogl zdecydowac co wziac.

0

korzystam z JavaMail, moim zdaniem api jest bardzo proste i powinno spełnić Twoje oczekiwania. Bez większego wysiłku powinieneś zaimplementować

przykład:



                String user = "[email protected]";
		String pass = "pass13";
		String to = "[email protected]";
		String from = "[email protected]";
	        String host = "mail.pl";

		Properties properties = System.getProperties();

		properties.setProperty("mail.smtp.host", host);
		properties.setProperty("mail.user", user);
	        properties.setProperty("mail.smtp.auth", "true");
		properties.setProperty("mail.password", pass);
		      
	        Authenticator auth = new SMTPAuthenticator(user, pass);
		Session session = Session.getInstance(properties, auth);


		try{
		    MimeMessage message = new MimeMessage(session);
		    message.setFrom(new InternetAddress(from));
		    message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
		    message.setSubject("Temat");
		    message.setText("Wiadomosc");
		    Transport.send(message);
		 } catch (MessagingException mex) {
		         mex.printStackTrace();
		 }


class SMTPAuthenticator extends javax.mail.Authenticator {
    private String userName;
    private String password;
    
    public SMTPAuthenticator(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }
    
    public PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(userName, password);
    }
}

1

Pokaz kod z zalacznikami. Pokaz multipart. Wiadomo ze da sie zrobic, skoro commons to wlasnie robi. Ja jednak musialem robic wiecej z mailem niz zwykle wysylanie, co pokazales, i tamto api bylo dla mnie przyjemniejsze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1