Frage

Ich habe einen Antrag, der die Bestätigungen per E-Mail anschickt. Der E -Mail -Teil verwendet Commons Mail -API. Der einfache Code, der die Sendenpost erstellt, ist wie unten gezeigt.

import org.apache.commons.mail.*;
...
// Create the attachment
EmailAttachment attachment = new EmailAttachment();
attachment.setURL(new URL("http://cashew.org/doc.pdf"));
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("Testing attach");
attachment.setName("doc.pdf");

// Create the email message
MultiPartEmail email = new MultiPartEmail();
email.setHostName("mail.cashew.com");
email.addTo("ben@cashew.org");
email.setFrom("lot@cashew.org");
email.setSubject("Testing);
email.setMsg("testing message");

// add the attachment
email.attach(attachment);

// send the email
email.send();

Mein Problem ist, wenn ich diese Anwendung von Eclipse ausführe, bekomme ich eine E -Mail ohne Probleme mit Anhang gesendet. Aber wenn ich die Anwendung auf Tomcat Server bereitete (ich habe

Versuchte sowohl Version 5 & 6 keine Freude), die E-Mail wird unter dem folgenden Inhalt gesendet.

------=_Part_0_25002283.1275298567928
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

testing


Regards,

los

------=_Part_0_25002283.1275298567928
Content-Type: application/pdf; name="doc.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; 
 filename="doc.pdf"
Content-Description: Testing attach

JVBERi0xLjQNJeLjz9MNCjYzIDAgb2JqDTw8L0xpbmVhcml6ZWQgMS9MIDMxMzE4Mi9PIDY1L0Ug
Mjg2NjY5L04gMS9UIDMxMTgwMi9IIFsgMjgzNiAzNzZdPj4NZW5kb2JqDSAgICAgICAgICAgICAg
DQp4cmVmDQo2MyAxMjcNCjAwMDAwMDAwMTYgMDAwMDAgbg0KMDAwMDAwMzM4MCAwMDAwMCBuDQow
MDAwMDAzNTIzIDAwMDAwIG4NCjAwMDAwMDQzMDcgMDAwMDAgbg0KMDAwMDAwNTEwOSAwMDAwMCBu
DQowMDAwMDA2Mjc5IDAwMDAwIG4NCjAwMDAwMDY0MTAgMDAwMDAgbg0KMDAwMDAwNjU0NiAwMDAw
MCBuDQowMDAwMDA3OTY3IDAwMDAwIG4NCjAwMDAwMDkwMjMgMDAwMDAgbg0KMDAwMDAwOTk0OSAw
MDAwMCBuDQowMDAwMDExMDAwIDAwMDAwIG4NCjAwMDAwMTIwNTkgMDAwMDAgbg0KMDAwMDAxMjky
MCAwMDAwMCBuDQowMDAwMDEyOTU0IDAwMDAwIG4NCjAwMDAwMTI5ODIgMDAwMDAgbg0KMDAwMDAx
.......
CnN0YXJ0eHJlZg0KMTE2DQolJUVPRg0K
------=_Part_0_25002283.1275298567928--

Eine Sache, die mir auch aufgefallen ist, ist, dass die Header -Informationen nicht zu und an den Betreffwerte angezeigt werden. Hmm ziemlich spannend. Ich muss darauf hinweisen, dass oben nicht die tatsächliche Nachricht in meinem Outlook -Client erstellt wird.

Kann mir bitte jemand helfen!

Aktualisieren: Die Anwendung ist ziemlich einfach. Anhängen eines Teils und einer Textnachricht auch als separates Teil.

   public final void Email(String from, String to, String cc,
          String subject, String message, String doc, String bcc) {

      MultiPartEmail email = new MultiPartEmail();

    try {

        if (!(doc == null)) {
                     EmailAttachment attachment = new EmailAttachment();
                     attachment.setURL(new URL("http://cashew.org/doc.pdf"));
         attachment.setDisposition(EmailAttachment.ATTACHMENT);
         attachment.setDescription("Testing attach");
         attachment.setName("doc.pdf");
                     email.attach(attachment);  
        }


        email.setHostName("mail.cashew.com");

        // [ Set Header details
        email.setTo(getAddress(to));
        email.setFrom(from);
        email.setSubject(subject);


        if (!(cc == null)) {
              eEmail.setCc(getAddress(cc));
        }

        if (!(bcc == null)) {
            email.setBcc(getAddress(bcc));
        }

        email.setMsg(message);

        email.send();


    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

Weiß jemand, was los ist?

War es hilfreich?

Lösung

Dies war das Problem

Ursachen: Das beschriebene Problem wird durch transitive Abhängigkeiten von Apache CXF 2 oder Axiom verursacht.

LÖSUNG: Um dieses Problem zu lösen, schließen Sie Geronimo-Javamail_1.4_spec vom Build aus und verlassen Sie sich einfach auf Javaxs Mail-1.4.x.jar.

    <!--For Apache CXF 2 Project: Do this Exclude-->
<dependency>    
  <groupid>org.apache.cxf</groupid>   
  <artifactid>cxf-rt-frontend-jaxws</artifactid>    
  <version>2.2.6</version>    
    <exclusions>        
      <exclusion>            
       <groupid>org.apache.geronimo.specs</groupid>            
       <artifactid>geronimo-javamail_1.4_spec</artifactid>        
      </exclusion>
     <exclusion> 
      <groupid>org.apache.geronimo.specs</groupid> 
      <artifactid>geronimo-activation_1.1_spec</artifactid>
     </exclusion>    
 </exclusions>
</dependency>

<!--For Axis2 Project with Axiom Dependency: Do this Exclude-->
<dependency>  
  <groupid>org.apache.ws.commons.axiom</groupid>  
  <artifactid>axiom-api</artifactid>  
  <version>1.2.8</version>  
    <exclusions>       
     <exclusion> 
      <groupid>org.apache.geronimo.specs</groupid> 
      <artifactid>geronimo-activation_1.1_spec</artifactid>
     </exclusion>
     <exclusion>
      <groupid>org.apache.geronimo.specs</groupid> 
      <artifactid>geronimo-javamail_1.4_spec</artifactid>
     </exclusion>
    </exclusions>
</dependency>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top