Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: J2EE ja Sähköpostin lähetys

Sivun loppuun

walkout_ [29.11.2011 05:56:41]

#

Miten lähetän Java:lla sähköpostin jossa on koodin tekemä .xml-tiedosto liitteenä?

tsuriga [29.11.2011 07:13:39]

#

"java send email attachment" ja plop, valmis koodi @ http://www.jguru.com/faq/view.jsp?EID=30251

walkout_ [29.11.2011 07:17:18]

#

Ei mene tolla kun mulla on lähetys koodissa import javax.sql.DataSource;

Koska tarvitsee tallentaa myös tilastot MySQL:n.

try {

            String host = "server.domain.tld";
            String from = "sales@domain.tld";
            String to = email;

            // Get system properties
            Properties properties = System.getProperties();

            // Setup mail server
            properties.setProperty("smtp.domain.tld", host);

            // Get the default Session object.
            Session session = Session.getDefaultInstance(properties);

            // Define message
            Message message_email = new MimeMessage(session);
            message_email.setFrom(new InternetAddress(from));
            message_email.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message_email.setSubject(subject);
            // Send the actual HTML message, as big as you like
            message_email.setContent( message, "text/html" );

            // Create the message part
            BodyPart messageBodyPart = new MimeBodyPart();

            // Fill the message
            messageBodyPart.setText(message_Text);

            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);

            // Part two is attachment
            messageBodyPart = new MimeBodyPart();
            String filename = "license.xml";
            Writer source = response.getWriter();

            source.write("TEST!");

            //Writer out = response.getWriter();

            // setup print writer
            //PrintWriter pw = new PrintWriter( new OutputStreamWriter( ServletActionContext.getResponse().getOutputStream() ) );
            // close the print writer which will start the download prompt
            //pw.close();

            //DataSource source = new FileDataSource(filename);
            messageBodyPart.setDataHandler(new DataHandler(source, "text/xml"));
            messageBodyPart.setFileName(filename);
            multipart.addBodyPart(messageBodyPart);

            // Put parts in message
            message_email.setContent(multipart);

            // Send the message
            Transport.send(message_email);

            source.close();

            } catch (MessagingException e) {

   			log.error("An error has occurred with sending the email to " + email + ": ", e);


            }

Eli millä kirjoitan muutujaan source että se toimii seuraavassa?

messageBodyPart.setDataHandler(new DataHandler(source, "text/xml"));

tsuriga [29.11.2011 07:57:42]

#

Annat luokan täyden polun esim.,javax.activation.DataSource source = new javax.activation.DataSource(new javax.activation.FileDataSource(attachment));

walkout_ [29.11.2011 08:40:25]

#

Ei toimi.

BUILD FAILURE

javax.activation.DataSource is abstract; cannot be instantiated

Kotin nyt tällä koodilla:
http://www.java-tips.org/other-api-tips/javamail/how-to-send-an-email-with-a-file-attachment-4.html

Mutta tulee: IOException while sending message

tsuriga [29.11.2011 10:12:10]

#

Hjoo katoin unisilla silmillä, pitäs olla javax.activation.DataSource source = new javax.activation.FileDataSource(attachment); kuten virhekin vähän viittaisi. IOException taidettiin mainita myös oman linkkini kommenteissa, piti vissiin käyttää absoluuttista polkua.

walkout_ [29.11.2011 10:24:01]

#

Hei sain sen nyt toimimaan kun lisäsin tiedostot Tomcatin /bin kansioon.

Se vaan, että kun kirjoitan jotain tiedostoon niin se ylikirjoittaa koko tiedoston.

Siis pitää saada sellainen että xml-tiedosto on vain muistissa, koska siis xml-tiedosto lähetetään itselle web-lomakkeen avulla ja xml-tiedostoon pitää tulla web-lomakkeen textfieldit xml:nä.

walkout_ [29.11.2011 11:07:20]

#

Sain nyt toimimaan siten kun pitää!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta