Toon posts:

[Qmail] Verstuurt geen e-mail via lokaal IP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik kan vanuit java alleen mailen dan accounts op de server zelf. Hoe komt dit?

broncode:
import org.apache.commons.net.smtp.*
String replystring = "";

SMTPClient smtpClient = new SMTPClient();
try {
smtpClient.connect(localhost);
replystring = smtpClient.getReplyString();
}
Dit resulteert in de volgende foutcode (waarde) voor replystring:
code:
1
2
"replycode 220: server04.xxx.nl ESMTP"
replycode 220 betekent: "no good intermediate"
Als ik bijvoorbeeld naar piet@hotmail.com probeer te mailen, krijg ik deze error.

Hoe los ik dit op? Is dit een java probleem of probleem met (java)-server-instellingen?

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Zover ik kan zien betekent 220 "server ready". :o

Maar je kan iig een mailserver instellen dat hij of alleen lokele mailboxen bedient of ook door stuurt.

[ Voor 5% gewijzigd door Gert op 19-04-2005 15:48 . Reden: d t ]


Verwijderd

Topicstarter
Bij een andere code krijg ik:
Foutmelding server bij verzenden naar opsteller email
Mail mislukt: javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.SendFailedException: Invalid Addresses; nested exception is: class com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
@Gert:
In PHP kan ik wel gewoon mailen, dat vind ik zo vreemd.

Verwijderd

Je maakt waarschijnlijk connectie vanaf een host die niet in de "relay allowed" lijst van de mailserver staat.

Verwijderd

Topicstarter
Ik heb net extra hostnames + ip's toegevoegd in /var/qmail/control/locals, maar dit heeft geen zin.

Maar ik denk dat je gelijk hebt wat betreft "hij beschouwt java als externe mail, en relayt daarom alleen meer van domeinen op de server".

Maar hoe los ik dat op?

Verwijderd

Topicstarter
Heeft niemand enig idee?

  • Baron
  • Registratie: Juli 2000
  • Laatst online: 21-06 17:02
Al geprobeerd met de smtp client van Sun.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
import sun.net.smtp.SmtpClient;
String host = "smtp.server.com";
String from = "ik@domein.com";
String to = "pietje@hotmail.com";
SmtpClient smtp = null;
try {
      smtp = new SmtpClient(host);
      smtp.from(from);
      smtp.to(to);

      PrintStream msg = smtp.startMessage();

      msg.println("To: " + to);
      msg.println("Subject: Onderwerp.");

      msg.println();
      msg.println("GOE BEZIG.");

      smtp.closeServer();
    }
catch (IOException ex) {
    }
  }

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:25

Creepy

Tactical Espionage Splatterer

Zorg dat al je domeinnamen in /var/qmail/control/rcpthosts en /var/qmail/control/locals staan. Zorg er ook voor dat je normale ip + 127.0.0.1 in /etc/qmail/tcp.smtp staan. Genereer dan vervolgens de tcp.smtp.cbd opnieuw (zie de qmail handleiding). Herstart qmail en je zou mail moeten kunnen verzenden vanaf localhost maar ok via je normale IP.

* Creepy geeft meteen dit topic een kickje naar SA aangezien het een qmail configuratie probleem is.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Wilke
  • Registratie: December 2000
  • Nu online
Topic-titel gewijzigd op verzoek van Creepy. Het probleem heeft niet specifiek met Java te maken, maar het ligt er blijkbaar gewoon aan dat Qmail geen mail accepteert van het lokale systeem. Vandaar deze topictitel dus ;)

Verwijderd

Topicstarter
Nou... dat zal ik proberen, maar dan vraag ik me af waarom het in PHP wel goed gaat.

code:
1
2
echo '127.:allow,RELAYCLIENT=""' >>/etc/tcp.smtp
/var/qmail/bin/qmailctl cdb
resulteert in:
code:
1
2
3
[root@srv01 root]# /var/qmail/bin/qmailctl cdb
Reloaded /etc/tcp.smtp.
[root@srv01 root]#
Helaas... ik kan nog steeds niet mailen naar adressen buiten de server.

[ Voor 143% gewijzigd door Verwijderd op 21-04-2005 15:27 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:25

Creepy

Tactical Espionage Splatterer

Je zult ook je IP (niet alleen 127.0.0.1) moeten toevoegen. Uit ervaring hier blijkt dat Tomcat/Java mail wel eens iets anders wil gaan resolven en niet via de localhost maar het externe IP gaat mailen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Creepy schreef op donderdag 21 april 2005 @ 17:08:
Je zult ook je IP (niet alleen 127.0.0.1) moeten toevoegen. Uit ervaring hier blijkt dat Tomcat/Java mail wel eens iets anders wil gaan resolven en niet via de localhost maar het externe IP gaat mailen.
/etc/tcp.smtp:
code:
1
127.:allow,RELAYCLIENT=""
code:
1
2
3
4
5
[root@srv01 root]# cat /etc/tcp.smtp
127.:allow,RELAYCLIENT=""
62.212.84.133:allow,RELAYCLIENT=""
62.212.84.136:allow,RELAYCLIENT=""
[root@srv01 root]#
Nu krijg ik een "Communication interrupted" error, kan aan de code liggen. Zal ik eerst even naar kijken.

[ Voor 11% gewijzigd door Verwijderd op 22-04-2005 11:07 ]


Verwijderd

Topicstarter
Opgelost, dat relay-verhaal had er niets mee te maken. Het lag toch aan de Java-code, de authentification ging niet goed. Dat moest met een pop3-user/pass.
Pagina: 1