Jun 28

Mit Java Mails zu versenden ist nicht schwer, einen besonders einfachen Ansatz wählt das Apache Commons Projekt mit seinem Subprojekt Email. Das einzige, was man beachten muss sind die Abhängigkeiten zu Suns Java Mail und Activation Framework, deren Java Archive man mit in den CLASSPATH aufnehmen muss.
Eine Klasse, die Commons Email verwendet und den Versand von Emails mit Anhängen ermöglicht, könnte so aussehen (Mailserver und Port müssen natürlich angepasst werden):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package de.k-oo.mail;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
 
public class Mailer {
	private String subject,msg;
	private Map<String, String> to;
	private List<EmailAttachment> attachements;
	private static final String server="mailserver";
	private static final int port=25;
 
	public Mailer(String subject, String msg, Map<String
               , String> to, List<EmailAttachment> attachements) {
		super();
		this.subject = subject;
		this.msg = msg;
		this.to = to;
		this.attachements = attachements;
	}
 
	public Mailer(String subject, String msg, Map<String, String> to) {
		super();
		this.subject = subject;
		this.msg = msg;
		this.to = to;
		this.attachements=new ArrayList<EmailAttachment>();
	}
 
	public List<EmailAttachment> getAttachements() {
		return attachements;
	}
 
	public void setAttachements(List<EmailAttachment> attachements) {
		this.attachements = attachements;
	}
 
	public String getMsg() {
		return msg;
	}
 
	public void setMsg(String msg) {
		this.msg = msg;
	}
 
	public String getSubject() {
		return subject;
	}
 
	public void setSubject(String subject) {
		this.subject = subject;
	}
 
	public Map<String, String> getTo() {
		return to;
	}
 
	public void setTo(Map<String, String> to) {
		this.to = to;
	}
 
	public void mail() throws EmailException {
		// Create the email message
		MultiPartEmail email = new MultiPartEmail();
		email.setHostName(server);
		email.setSmtpPort(port);
		email.setFrom("prosys@zid-f.bfinv.de", "prosys");
 
		for (String key : to.keySet()) {
			// Mail Adresse, Alias
			email.addTo(key, to.get(key));
		}
 
		email.setSubject(subject);
		email.setMsg(msg);
 
		// Create the attachment
		for (EmailAttachment attachment : attachements) {
			// add the attachment
			email.attach(attachment);
		}
 
		// send the email
		email.send();
	}
}

geschrieben von gklinkmann \\ tags:

Kommentar abgeben

Ja, ich möchte bei Kommentaren benachrichtigt werden!