Avatar billede bearhugx Nybegynder
09. marts 2002 - 01:37 Der er 8 kommentarer og
1 løsning

Sende en email fra remote server, som kræver godkendelse

I forbindelse med en opgave er jeg igang med at lave en bean/klasse, som kan sende en email.

Da jeg ikke selv har mailserver kan jeg bruge mailserveren på min skole som relay (tror det hedder sådan) - men for at kunne sende breve udenfor deres domæne skal der ske en verificering af at jeg (programmet) har en gyldig konto derude...

Problemet er pt. at jeg kun kan sende mails intern på domænet - og min fornemmelse siger mig, at der er pga. at der ikke sker nogen bruger-verificering
...

Min nuværende kode se sådan ud  (håber ikke det kommer til at se rodet ud)

>>
import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.activation.*;
import javax.mail.*;
import javax.mail.internet.*;

public class EMailBean
{
  public static void main(String[] args)
  { EMailBean e = new EMailBean();
    e.test();   
  }

  protected String to = null;
  protected String from = null;
  protected String subject = null;
  protected String content = null;
       
  public void setTo( String to )
  { this.to = to;
  }
  public void setFrom( String from )
  { this.from = from;
  }
  public void setSubject( String subject )
  { this.subject = subject;
  }   
  public void setContent( String content )
  { this.content = content;
  }

  public void send()
  {
    Properties props = System.getProperties();
    props.put("mail.smtp.host", "post2.tietgen.dk");
    props.put("mail.smtp.auth", "true");

    // Get a Session object
    Session session = Session.getInstance(props);

    try
    {
      // construct the message
      MimeMessage msg = new MimeMessage(session);
      msg.setFrom(new InternetAddress(from));

      msg.setRecipients( Message.RecipientType.TO,            InternetAddress.parse(to, false));

      msg.setSubject(subject);

      msg.setText(content, "UTF-8");
      msg.setDataHandler( new DataHandler( content , "text/html" ) );

      msg.setHeader("X-Mailer", "msgsend-SKROEDER");
      msg.setSentDate(new Date());
      msg.saveChanges();

      System.out.println("---");
      msg.writeTo( System.out );
      System.out.println("\n---");
       
      Transport transport = session.getTransport("smtp");
      transport.connect( "post2.tietgen.dk", "edb/dm99724", "PASSWORD_SKJULT" );
      transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
      transport.close();
    } catch ( Exception ex )
    {
      ex.printStackTrace();
    }
  }
   
  /*
  ** en metode til funktionelt at teste bønnen
  */
  public void test()
  { this.setFrom("dm99724@edb.tietgen.dk");
    this.setTo("emailbeantest@skroeder.dk");
    this.setSubject("Test af EMailBean");
    this.setContent("TEST");
    this.send();
  }
}
<<

Som sagt, så længe jeg sender inden for tietgen.dk-domænet er det ikke problemer - men når jeg vil sende til emailbeantest@skroeder.dk, så virker det ikke...

Jeg får kun denne error-message
<<
Din meddelelse blev ikke leveret til en eller flere af modtagerne.

Til: emailbeantest@skroeder.dk
Emne: Test af EMailBean
Sendt: 09-03-02 01:35:32

Der kunne ikke leveres til følgende modtager(e):

emailbeantest@skroeder.dk den 09-03-02 01:47

    Modtagernavnet kan ikke genkendes
    MTS-id for den oprindelige besked: c=dk;a= ;p=tietgen;l=POST20203090046F3LNXTCN
    MSEXCH:IMS:tietgen:odense:POST2 0 (000C05A6) Unknown Recipient
>>

Hjælp !

/Søren
Avatar billede bearhugx Nybegynder
09. marts 2002 - 01:38 #1
PS : jeg har forsøgt at læse de tidligere indlæg (søgt på "mail" i java-katgorien) igennem for at finde et svar -men har (som dette spørgsmål jo nok bevidner) ikke fundet svaret endnu...

/Søren
Avatar billede disky Nybegynder
12. marts 2002 - 18:25 #2
Kan du normalt med email programmer sende ud af huset ?
Avatar billede bearhugx Nybegynder
12. marts 2002 - 18:36 #3
Disky ... Det lyder måske dumt, men du har ingen anelse om, hvad du lige har gjort..

Normalt, når jeg sender emails ud af huset sender jeg med soeren@skroeder.dk - men pga. at jeg var vant til at tænke i skolebaner, forsøgte jeg hele tiden at bruge skolens mail-server som relay....

Jeg prøvede lige at bruge min skroeder.dk-mailkonto - og den gik rent igennem - både til soeren@skroeder.dk og min gamle skolekonto dm99724@edb.tietgen.dk .....

Åbenbart er det så tietgen-serveren, som kun accepterer at der bliver sendt mails internt fra domænet, hvilket besvarer en del spørgsmål...

/Søren
*som nu er glad, at hans EMailBean virker !!*

PS : Gider du lige at 'svare'
Avatar billede disky Nybegynder
12. marts 2002 - 18:39 #4
Har selv haft samme problem engang, mange mail servere tillader ikke at alle kan sende fra dem, og nogle endda at man kun kan sende til bestemte adresser.

Godt det virker nu :)
Avatar billede bearhugx Nybegynder
12. marts 2002 - 18:43 #5
Er igang med at læse MIDP 101 - Det ser meget spændende - men hvordan kommer man igang med at arbejde med det, hvis man ikke lige har et understøttende device...

/Søren
Avatar billede bearhugx Nybegynder
12. marts 2002 - 18:44 #6
Hmmm ... mangler vist et 'ud' i sætningen ovenfor...
Avatar billede disky Nybegynder
12. marts 2002 - 18:44 #7
I java's Mobile Toolkit er der 4 eller 5 emulatorer som du kan kører det i.

Tro mig det er vildt spændende, arbejder selv i øjeblikket med på et projekt om J2ME.
Avatar billede disky Nybegynder
12. marts 2002 - 18:46 #8
kontakt mig evt på ICQ #1413069 hvis du har problemmer med J2ME osv.
Avatar billede bearhugx Nybegynder
12. marts 2002 - 18:47 #9
OK :-) ... I'll give it a shot...
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