Avatar billede mik28 Seniormester
29. april 2007 - 10:40 Der er 16 kommentarer og
1 løsning

problem med javamail

Hej Eksperter,

Jeg har et problem mad at få javamail til at virke. Jeg gør følgende.

.jsp

String comment         = "Her er dit password: passwordet";
            String subjekt         = "Tilsendt password";
            String from            = "";
            String fromserver = "vip.cybercity.dk";
            String[] users         = {"MINMAIL"};
           
            Sendmail start = new Sendmail();
                    start.Sendmail(comment, subjekt, from, fromserver, users);

.class

package util;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class Sendmail
{
       
public void Sendmail(String comment, String subjekt, String from, String smtp, String[] users) {
       
        sendEmail(users, comment, subjekt, from, smtp);
       
    }
    public static void sendEmail(String[] users, String comment, String subjekt, String from, String smtp) {
        try {
            Properties props = System.getProperties();
            props.put("mail.smtp.host", smtp);
            Session session = Session.getDefaultInstance(props, null);
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            InternetAddress[] toaddr = new InternetAddress[users.length];
            for(int i = 0; i < users.length; i++) {
                toaddr[i] = new InternetAddress(users[i]);
            }
            message.addRecipients(Message.RecipientType.TO, toaddr);
            message.setSubject(subjekt);
            message.setText(comment);
            Transport.send(message);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}

Jeg får ingen fejl. Løber jeg ind i noget relaycontrol. Jeg er iøvrigt cybercity kunde
Avatar billede mik28 Seniormester
29. april 2007 - 10:43 #1
Mailen kommer med andre ord aldrig frem
Avatar billede mik28 Seniormester
29. april 2007 - 14:23 #2
hvis jeg så bare fik en fejl
Avatar billede mik28 Seniormester
29. april 2007 - 15:31 #3
java.lang.NullPointerException
    javax.mail.internet.InternetAddress.parse(InternetAddress.java:571)
    javax.mail.internet.InternetAddress.parse(InternetAddress.java:531)
    javax.mail.internet.InternetAddress.<init>(InternetAddress.java:67)
    util.Sendmail.sendEmail(Sendmail.java:31)
    util.Sendmail.Sendmail(Sendmail.java:19)
    org.apache.jsp.index.eksisterendebruger_jsp._jspService(eksisterendebruger_jsp.java:99)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Avatar billede arne_v Ekspert
29. april 2007 - 16:23 #4
den siger at enten from eller users[i] ikke indeholder en valid email adresse
Avatar billede mik28 Seniormester
29. april 2007 - 16:34 #5
ja det var en fejl
Avatar billede mik28 Seniormester
29. april 2007 - 16:35 #6
Jeg har i første omgang hardkodet email adressen ind, men mailen kommer ikke frem
Avatar billede mik28 Seniormester
29. april 2007 - 16:37 #7
med andre ord så får jeg ikke den fejl mere
Avatar billede arne_v Ekspert
29. april 2007 - 16:49 #8
ingen fejl men email når ikke frem ?

er der et spam filter imellem ?
Avatar billede mik28 Seniormester
29. april 2007 - 16:58 #9
ikke så vidt jeg ved
Avatar billede mik28 Seniormester
29. april 2007 - 17:34 #10
Er der noget galt med min kode
Avatar billede arne_v Ekspert
29. april 2007 - 18:15 #11
selve koden virker fint hos mig
Avatar billede mik28 Seniormester
30. april 2007 - 04:48 #12
Koden virker tilsyneladende også fint her. Hvad skriver du i
String fromserver = "vip.cybercity.dk";
Avatar billede mik28 Seniormester
07. maj 2007 - 11:44 #13
Jeg har stadig ikke fået det til at spille. Nu har jeg taget den sidste nye version ned og lagt den i lib. Jeg får ingen fejl. Hvad dælen gør jeg forkert?
Avatar billede mik28 Seniormester
18. maj 2007 - 07:12 #14
Jeg har funden "fejlen". Jeg løb ind i et spamfilter. Hvis jeg får det til at ligne en rigtig mail, altså skriver en længere tekst så virker det.
Avatar billede arne_v Ekspert
18. maj 2007 - 15:08 #15
:-)
Avatar billede dl Nybegynder
14. september 2007 - 00:10 #16
Jeg har noget af samme problem, bare med google. Dade gerne vil afhjælpe med spam problemmet, så skal jeg være godkendt af dem, altså nogetmed username og pass. Det kunne være Cybercity også havde det.
Jeg bruger selv  denne kode, så må du lige selv se forskellen.

// kode

public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
    boolean debug = true;

    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); // ???

    Properties props = new Properties();

    props.put("mail.transport.protocol", "smtp"); //???
    props.put("mail.smtp.host", "smtp.googlemail.com" ); // adressen til smtp server, den du sender dine mails til.
    props.put("mail.smtp.port", "587"); // hvilken port  default 25
    props.put("mail.smtp.auth", "true"); // om man skal godkendelse
    props.put("mail.smtp.starttls.enable","true"); // ???
    props.put("mail.smtp.quitwait", "false"); // venter endtil server sender QUIT command
    props.put("mail.smtp.socketFactory.port", "487"); // ???
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");   

    Authenticator auth = new SMTPAuthenticator();

  // En session som er godkendt 
    Session session = Session.getDefaultInstance(props, auth);
 
    session.setDebug(debug);

    Message msg = new MimeMessage(session);

    InternetAddress addressFrom = new InternetAddress(from);
   
    msg.setFrom(addressFrom);

    InternetAddress[] addressTo = new InternetAddress[recipients.length];
    for (int i = 0; i < recipients.length; i++)
    {
        addressTo[i] = new InternetAddress(recipients[i]);
    }
    msg.setRecipients(Message.RecipientType.TO, addressTo);

    // Optional : You can also set your custom headers in the Email if you Want
    msg.addHeader("MyHeaderName", "myHeaderValue");

    // Setting the Subject and Content Type
    msg.setSubject(subject);
//    msg.setContent(message, "text/plain; charset=ISO-8859-1");
    msg.setContent(message, "text/html;charset=UTF-8");

   

    Transport.send(msg);

}


    private class SMTPAuthenticator extends javax.mail.Authenticator
    {
        public PasswordAuthentication getPasswordAuthentication()
        {
            String username = "xxx@gmail.com";
            String password = "xxx";
            return new PasswordAuthentication(username, password);
        }
    }


// kode


se :

props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, auth);

// dennis

PS. bare en tanke :)  jeg kan sige min kode virker  :) bruger den i min hovedopgave.
Avatar billede mik28 Seniormester
08. juli 2010 - 16:30 #17
lukker og slukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester