Avatar billede ormholt Nybegynder
17. september 2002 - 15:32 Der er 23 kommentarer og
1 løsning

Sende en mail

Hejsa

Jeg er ved at lave et mailprogram i java, men når jeg prøver at sende en mail får jeg følgende exception:
(Uddrag af exception...)

avax.mail.MessagingException: 501 5.0.0 Invalid domain name

        at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:923)
        at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:555)
        at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:24
5)
        at javax.mail.Service.connect(Service.java:233)
        at javax.mail.Service.connect(Service.java:134)


Problemet er, at jeg har to computere og det virker fra den ene - begge har samme version af JRE installeret, samt java mail.....

Nogen der ved noget om det??
Avatar billede europe Nybegynder
17. september 2002 - 15:38 #1
Har de samme adgang til smtp-serveren ?? - Det lyder lidt som om der er noget med ip-adr. eller sådan noget ...
Avatar billede disky Nybegynder
17. september 2002 - 17:08 #2
hvad er domæne navnet sat til, post evt. hele koden
Avatar billede ormholt Nybegynder
17. september 2002 - 19:40 #3
hvad mener du med domæne navn ?? mailhost eller ??
Får nu denne exception
javax.mail.SendFailedException: Invalid Addresses;
  nested exception is:
        class javax.mail.SendFailedException: 550 not local host her står en det jeg sætter efter @, not
a gateway
Avatar billede disky Nybegynder
17. september 2002 - 20:15 #4
Denne kode her virker:
package mail;

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.mail.internet.InternetAddress;

public class SendMail
{
   
    String recipient = "";
    String url      ="";
    String sender    = "";
   
    public void setRecipient( String recipient )
    {
        this.recipient = recipient;
    }
   
    public String getRecipient()
    {
        return recipient;
    }
   
    public void setURL( String url )
    {
        this.url = url;
    }
   
    public String getURL()
    {
        return url;
    }
   
    public void setSender( String sender)
    {
        this.sender = sender;
    }
   
    public String getSender()
    {
        return sender;
    }
   
    public boolean sendMail()
    {
        boolean sendMail = true;
        String body = "Din ven vil gerne sladre om denne side: " + getURL();
        try
        {
            Properties props = new Properties();
            props.put("mail.smtp.host", "MAIL SERVER NAVN");
           
            Session mailsession = Session.getDefaultInstance(props, null);
           
            Message msg = new MimeMessage(mailsession);
            msg.setFrom(new InternetAddress( getSender() ));
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(getRecipient() ));
            msg.setSubject( "Tips fra en ven" );
            msg.setText(body);
           
            Transport.send(msg);
            return true;
        }
        catch( AddressException e )
        {
            return false;
        }
        catch( MessagingException e )
        {
            return false;
        }
    }
}
Avatar billede ormholt Nybegynder
17. september 2002 - 20:58 #5
jeg har lige slettet alt det mit og prøvet at lave dette, MEN det virker ikke, det ser af en anden grund ud til at den prøvet at sende det fra min egen localhost eller ??? den kommer i hvert tilfælde med denne fejl
javax.mail.SendFailedException: Sending failed;
  nested exception is:
        class javax.mail.MessagingException: Could not connect to SMTP host: loc
alhost, port: 25;
Avatar billede disky Nybegynder
17. september 2002 - 21:03 #6
Det lyder som din SMTP server ikke kører, eller ikke tillader tilgang fra localhost
Avatar billede ormholt Nybegynder
17. september 2002 - 22:01 #7
jeg har fundte ud af dette
mailhost - hvis den hedder smtp.etellerandet så virker det
men hvis den hedder mail.etellerandet - så virker det ikke
og da det ikke er alle mailhosts der kalder deres udgående mailhost
noget med smtp så er det et problem, er det noget du kender til disky>> ???
Avatar billede disky Nybegynder
17. september 2002 - 22:23 #8
prøv at ret:
props.put("mail.smtp.host", "MAIL SERVER NAVN");
til
props.put("mail.host", "MAIL SERVER NAVN");

Jeg kan intet finde i specificationen om at den skal starte med smtp :(
Avatar billede ormholt Nybegynder
17. september 2002 - 22:31 #9
ok prøver lige, jeg finder det nemlig også ret spøjst
Avatar billede ormholt Nybegynder
17. september 2002 - 22:33 #10
neej det virker stadigt ikke så kommer den igen med fejlen
550 not local host ... not a gateway

hvor ... er det der står efter @
Avatar billede ormholt Nybegynder
17. september 2002 - 22:39 #11
og det "sjove" er jo at det virker fint under outlook m.m.
Avatar billede ormholt Nybegynder
17. september 2002 - 23:17 #12
nope det virker hller ikke ved smtp , "mere". det kører ikke så godt, og da jeg har ca. 3 pop3 mailkonti jeg prøver med så er jeg sikker på at det ikke er den ene mailserver der er nede.
Men sagen er den at hvis jeg bruger en mailhost fra min egen udbyder hos ormholt@ormholt.dk så kan jeg godt sende til alleemails@ormholt.dk men ikke andre ????
Avatar billede disky Nybegynder
18. september 2002 - 07:19 #13
hvad har du stående i :props.put("mail.smtp.host", "MAIL SERVER NAVN"); som 'mail server navn' ?

Hvad er msg.addRecipient(Message.RecipientType.TO, new InternetAddress(getRecipient() ));
receipient sat til ?

Det lyder ret kraftigt som noget opsætningsballade med din mail server
Avatar billede jword Nybegynder
18. september 2002 - 08:47 #14
Det kan være du mangler smtp.jar fra javamail i din classpath. Det plejer at give messagingexception hos mig.
Avatar billede ormholt Nybegynder
18. september 2002 - 09:16 #15
smtp.jat skal den med i classpath, jeg bruger jo ingen metoder derfra ????
I de nyere versioner af javamail (mail.jar) "skulle" den være i mail.jar, men jeg kan prøve jword>>
og Disky>> jeg har i mail sernavn til at stå min mailhost, enten mail.noget.dk eller smtp.noget.dk
Avatar billede jword Nybegynder
18. september 2002 - 09:23 #16
Det ser ud til du har ret. Jeg har bare haft ovennævnte exception i det tilfælde jeg kun havde mail.jar i min classpath og mail.jar lå et andet sted end som den default dir-structur der er i javamail distributionen. Og dér hjalp det at putte smtp.jar i min classpath.
Avatar billede ormholt Nybegynder
18. september 2002 - 09:23 #17
det med at tilføje smtp.jar til classpath virker ikke :(
Avatar billede ormholt Nybegynder
18. september 2002 - 09:26 #18
det skal lige siges at det prøves kørt fra en win maskine, og det har "nogle" gange virket på en linux maskine, såå jeg ved ikke om det er min classpath der ikke virker helt under win2000
Avatar billede disky Nybegynder
18. september 2002 - 17:36 #19
prøv at start programmet per håndkraft, og angiv classpath direkte ved program start.
Avatar billede disky Nybegynder
30. oktober 2002 - 12:37 #20
ormholt har du fået svar nok ?
Avatar billede backupmand Nybegynder
15. juli 2004 - 23:01 #21
flg er et uddrag fra min test med javamail og som man kan se, får jeg også en slags fejl (det er med vilje jeg har fjernet min mail adr og server navn - i den rigtige version står den rigtige mail adresse og det rigtige smtp host navn!)

^Z = (CTRL + Z, som jeg trykkede på for at sende mailen)

C:\javamail-1.3.1\demo>java -classpath .;"C:\javamail-1.3.1\mail.jar;C:\jaf-1.0.
2\activation.jar;C:\pop3-1.1.1\pop3.jar;C:\javamail-1-3-1\demo;C:\j2sdk1.4.2_01\
bin;C:\javamail-1.3.1\lib\smtp.jar" msgsend
To: dinmail@ditdomaene.dk -o minmail@mitdomaene.dk -M mail.mitwebhotelhotel.dk
Subject: hello
Hejsa test
^Z
javax.mail.SendFailedException: Sending failed;
  nested exception is:
        class javax.mail.MessagingException: Could not connect to SMTP host: loc
alhost, port: 25;
  nested exception is:
        java.net.ConnectException: Connection refused: connect
        at javax.mail.Transport.send0(Transport.java:218)
        at javax.mail.Transport.send(Transport.java:80)
        at msgsend.<init>(msgsend.java:170)
        at msgsend.main(msgsend.java:60)

C:\javamail-1.3.1\demo>
Avatar billede backupmand Nybegynder
15. juli 2004 - 23:01 #22
Er det ikke det du mener med per håndkraft, Disky?
Avatar billede backupmand Nybegynder
15. juli 2004 - 23:03 #23
Det skal tilføjes at msgsend er den demo, der følger med javamail api 1.3.1 og at man i den demo kan angive flg parametere ved programstart:
-o <<FRA MAIL>> -M SMTP host navn
Avatar billede backupmand Nybegynder
15. juli 2004 - 23:39 #24
Disky din kode virker fint for mig
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Bliv en del af vores nye mobiludviklingsteam i Cyberdivisionen i Hvidovre

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Ennova A/S

Senior Developer

AL Sydbank A/S (tidligere Arbejdernes Landsbank)

Afdelingschef til GDPR & Tech Regulation