Hallo Leute,
seit bereits zwei Stunden hänge ich an einem Java Problem. Und zwar habe ich ein Webservice (axis2) geschrieben, das unter anderem auch eine Mail verschicken können soll. Doch genau daran scheitert die ganze Geschichte.
Für den Mailversand nutze ich javax.mail. Mein Quellcode sieht folgendermaßen aus:
Bevor ich das alles auf nem public Server lade, teste ich es erstmal mit einer Testklasse auf meinem Desktop. Dort funktioniert auch alles. Eine E-Mail sieht dann so aus:
Ist alles ok! Aber wenn ich das ganze nun über axis2 verschicke, dann fehlt der Betreff, das Absendedatum, der Empfänger und der Absender:
Und genau das ist mein Problem. Ich finde dazu keine Lösung. Auch absolut keinen Lösungsansatz. Wie man im Quelltext sieht, habe ich ich bereits eine Ausgabe hingeschrieben, um zu überprüfen, ob ein Betreff tatsächlich zugewiesen wurde. Was kann ich denn sonst noch prüfen? Oder gibt es noch andere Mailing Klassen, die zu empfehlen sind?
seit bereits zwei Stunden hänge ich an einem Java Problem. Und zwar habe ich ein Webservice (axis2) geschrieben, das unter anderem auch eine Mail verschicken können soll. Doch genau daran scheitert die ganze Geschichte.
Für den Mailversand nutze ich javax.mail. Mein Quellcode sieht folgendermaßen aus:
Code:
private void sendMail(MailAddress toAddr, String Subj, String Text){
Properties props=new Properties();
props.put("mail.smtp.host","10.29.0.1");
Session session=Session.getDefaultInstance(props,null);
Message message=new MimeMessage(session);
try {
message.setFrom(new InternetAddress(from,from_name));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddr.getMailAddress()));
message.setSubject(Subj);
message.setSentDate(new Date());
System.out.println("Subject: " + Subj + "/ " + message.getSubject() + " Text: " + Text);
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setText(Text, "ISO-8859-1" );
Multipart multiPart = new MimeMultipart();
multiPart.addBodyPart( mbpContent );
//message.setText(Text);
message.setContent(multiPart);
Transport.send(message);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
Bevor ich das alles auf nem public Server lade, teste ich es erstmal mit einer Testklasse auf meinem Desktop. Dort funktioniert auch alles. Eine E-Mail sieht dann so aus:
Code:
Return-path: <dr@rootix.de>
Envelope-to: dr@rootix.de
Delivery-date: Tue, 08 Jul 2008 12:54:21 +0200
Received: from [10.29.0.3] (helo=desk1)
by core.rootix.de with esmtp (Exim 4.69)
(envelope-from <dr@rootix.de>)
id 1KGApx-0004eF-JH
for dr@rootix.de; Tue, 08 Jul 2008 12:54:21 +0200
Date: Tue, 8 Jul 2008 12:53:54 +0200 (CEST)
From: Testliste <dr@rootix.de>
To: dr@rootix.de
Message-ID: <18019860.1.1215514434759.JavaMail.dr@desk1>
Subject: bla
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_0_14452073.1215514434724"
X-Spam-Score: 1.5
X-Spam-Report: Spam detection software, running on the system "core", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: bla2 [...]
Content analysis details: (1.5 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-1.4 ALL_TRUSTED Passed through trusted hosts only via SMTP
2.9 TVD_SPACE_RATIO BODY: TVD_SPACE_RATIO
------=_Part_0_14452073.1215514434724
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
bla2
------=_Part_0_14452073.1215514434724--
Ist alles ok! Aber wenn ich das ganze nun über axis2 verschicke, dann fehlt der Betreff, das Absendedatum, der Empfänger und der Absender:
Code:
Return-path: <dr@rootix.de>
Envelope-to: dr@rootix.de
Delivery-date: Tue, 08 Jul 2008 13:12:54 +0200
Received: from [10.29.0.1] (helo=core)
by core.rootix.de with esmtp (Exim 4.69)
(envelope-from <dr@rootix.de>)
id 1KGB7u-0005gc-9o
for dr@rootix.de; Tue, 08 Jul 2008 13:12:54 +0200
X-Spam-Score: 4.3
X-Spam-Report: Spam detection software, running on the system "core", has
identified this incoming email as possible spam. The original message
has been attached to this so you can view it (if it isn't spam) or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: ------=_Part_9_5258027.1215515574296 Content-Type: text/plain;
charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Test1234567 ------=_Part_9_5258027.1215515574296--
[...]
Content analysis details: (4.3 points, 5.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
-1.4 ALL_TRUSTED Passed through trusted hosts only via SMTP
0.0 MISSING_MID Missing Message-Id: header
0.0 MISSING_DATE Missing Date: header
1.6 MISSING_HEADERS Missing To: header
2.9 TVD_SPACE_RATIO BODY: TVD_SPACE_RATIO
1.3 MISSING_SUBJECT Missing Subject: header
------=_Part_9_5258027.1215515574296
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
bla2
------=_Part_9_5258027.1215515574296--
Und genau das ist mein Problem. Ich finde dazu keine Lösung. Auch absolut keinen Lösungsansatz. Wie man im Quelltext sieht, habe ich ich bereits eine Ausgabe hingeschrieben, um zu überprüfen, ob ein Betreff tatsächlich zugewiesen wurde. Was kann ich denn sonst noch prüfen? Oder gibt es noch andere Mailing Klassen, die zu empfehlen sind?