So senden Sie mehrere E-Mails in einer session?
Will ich senden Sie Tausende von verschiedenen E-Mails an verschiedene Empfänger und möchte die Verbindung zu meinem SMTP-und halten es. Ich hoffe das ist dann schneller öffnen der Verbindung für ervy-mail. Ich möchte mit Apache Commons E-Mail für, dass, könnte aber zurückgreifen, um die Java-Mail-API, falls erforderlich.
Ich jetzt bin, dies zu tun, was öffnet schließt die Verbindung jedes mal:
HtmlEmail email = new HtmlEmail();
email.setHostName(server.getHostName());
email.setSmtpPort(server.getPort());
email.setAuthenticator(new DefaultAuthenticator(server.getUsername(), server.getPassword()));
email.setTLS(true);
email.setFrom("[email protected]");
email.addTo(to);
email.setSubject(subject);
email.setHtmlMsg(htmlMsg);
email.send();
- Halten Sie die Sitzung zu öffnen und senden Sie 1000 E-Mails und endlich schließen Sie die Sitzung.
- Wissen Sie, wenn dies möglich ist, mit commons E-Mail?
- es scheint nicht, wie es...ich benutze JavaMail voll aus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist mein performance-test-Klasse. Das senden der E-mails über eine Verbindung ist 4-mal schneller öffnen Sie dann erneut die Verbindung jedes mal (was passiert, wenn Sie verwenden commons-mail). Die performance geschoben werden kann weiter durch die Verwendung von mehreren threads.
Können Sie Ihre früheren code, sondern fügen Sie den folgenden, um die zugrunde liegende Session
Sie können zusätzliche java-mail-Eigenschaften von
Haben Sie einen Blick auf http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html. Es ist ein Beispiel zeigt, wie eine E-Mail senden. Sie sollten in der Lage sein zu senden vor dem Aufruf von close() auf den Transport.
keine Notwendigkeit xtra-code, legen Sie einfach alle E-Mail-Empfänger ein und trennen Sie mit Komma.
MimeMessage pesan = new MimeMessage(session);
pesan.setFrom(new InternetAddress("[email protected]"));
pesan.setRecipients(Message.RecipientType.TO, InternetAddress.parseHeader("[email protected],[email protected],[email protected]",false));
und das gleiche tun für
Message.RecipientType.CC
und
Message.RecipientType.BCC
wenn es mehr als 1 E-Mail-Empfänger
Hoffnung auf seine Hilfe :)..