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
