Avatar billede peque Nybegynder
06. februar 2006 - 10:29 Der er 4 kommentarer og
1 løsning

jsp mail!

Hej alle sammen...

Jeg har lavet min mailer således og testet den igennem på min bærbare (Windows) og den virker fint - men idet jeg ligger den over på min webserver (Arch linux / Resin 3.0.17) virker alt som om det virker - der kommer bare ikke nogen mail i den sidste ende! Men tager jeg filerne tilbage til min XP maskine - sender den mail med det samme - Kan nogen give mig en forklaring på dette???
min mailer:
package x.web;

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class XMailer {
   
    private int smtpPort = 25;
    private String smtpHost = "smtp.mail.dk";
    private String recipient = "";
    private String sender  = "";
    private String subject  = "";
    private String content  = "";
   
    public XMailer() {
        subject = "SUBJ: " + this.getClass().getName(); 
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getRecipient() {
        return recipient;
    }

    public void setRecipient(String recipient) {
        this.recipient = recipient;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String sender) {
        this.sender = sender;
    }

    public String getSmtpHost() {
        return smtpHost;
    }

    public void setSmtpHost(String smtpHost) {
        this.smtpHost = smtpHost;
    }

    public int getSmtpPort() {
        return smtpPort;
    }

    public void setSmtpPort(int smtpPort) {
        this.smtpPort = smtpPort;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public void send() {
        try {
            send(sender, recipient, subject, content);
        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    public void send(String sender, String recipient,
                    String subject, String content)
            throws AddressException, MessagingException {
       
        // Create a mail session
        Properties props = new Properties();
        props.put("mail.smtp.host", smtpHost);
        props.put("mail.smtp.port", "" + smtpPort);
        Session session = Session.getDefaultInstance(props, null);

        // Construct the message
        Message msg = new MimeMessage(session);
        InternetAddress fromAddr = new InternetAddress(sender);
        InternetAddress toAddr  = new InternetAddress(recipient);
        msg.setFrom(fromAddr);
        msg.setRecipient(Message.RecipientType.TO, toAddr);
        msg.setSubject(subject);
        msg.setText(content);

        // Send the message
        Transport.send(msg);
    }
}
og lidt kode fra selve jsp -siden :
<%
    String sender  = (String)request.getParameter("mail");
    String subject = (String) "Besked fra Hjemmesiden";
    String besked = (String)request.getParameter("besked");
    String Navn = (String)request.getParameter("navn");
    String tlf = (String)request.getParameter("telefon");
    String tid = (String)request.getParameter("tidspunkt");
    String message = (String) "Navn : " + Navn + " \n \n" +
                    "Telefon : " + tlf + " imellem : " + tid + " \n \n" +
                    "Mailadresse : " + sender + " \n \n" +
                    "Besked : " + besked + "\n";
%>

<%
    if ( sender != null && subject != null && message != null ) {
       
        if ( sender.equals("") || subject.equals("") || message.equals("") ) {
            out.print("Udfyld venligst alle felter!");
        } else {
            mailer.setSender(sender);
            mailer.setSubject(subject);
            mailer.setContent(message);
   
            mailer.send();
            out.print("Mail sendt!");
            response.sendRedirect("tak.jsp");
        }
    }
%>

Men som sagt virker fint i windows mwen ikke på min resin server??
Avatar billede simonvalter Praktikant
06. februar 2006 - 12:55 #1
check dine logs som resin skriver de burde kunne give et hint om hvad der er galt.
Avatar billede peque Nybegynder
06. februar 2006 - 13:12 #2
OK - havde sgu ikke set der ligger logger derinde ????
Men den ser således ud:

javax.mail.MessagingException: 501 Syntax: HELO hostname

    at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1328)
    at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:803)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:345)
    at javax.mail.Service.connect(Service.java:275)
    at javax.mail.Service.connect(Service.java:156)
    at javax.mail.Service.connect(Service.java:105)
    at javax.mail.Transport.send0(Transport.java:168)
    at javax.mail.Transport.send(Transport.java:98)
    at x.web.XMailer.send(XMailer.java:105)
    at x.web.XMailer.send(XMailer.java:79)
    at _jsp._kontakt__jsp._jspService(_kontakt__jsp.java:60)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
    at com.caucho.jsp.Page.pageservice(Page.java:570)
    at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:267)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
    at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
    at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
    at java.lang.Thread.run(Unknown Source)
closing server

Hvad skal jeg gøre for at løse denne
Avatar billede simonvalter Praktikant
06. februar 2006 - 13:30 #3
Ja jeg har kun et gæt på at det måske kunne have noget at gøre med maskinens hostname.
nogen smtp servere kan vist afvise hvis det ikke er et valid hostname der resolver.
så er dns sat op til at pege på maskinen og er hostname sat korrekt for maskinen.
Avatar billede peque Nybegynder
06. februar 2006 - 13:56 #4
ja det skulle jeg da mene!
Min DNS er min router/firewall = IPcop 1.4.10 = aladin
som peger videre på min webserver  - hercules, hvor dens hostnavn er sat op!
Avatar billede peque Nybegynder
06. maj 2006 - 19:17 #5
lukker - men fik det til at virke
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