[INFO] opendd, ein DynDNS-Client

openDD und Versenden von Mails (nicht Standardport 25)

Hallo, habe folgendes Problem beim Versenden der Mail von openDD aus:

Code:
Input/output error (5)
sendmail() : connect() error on smtp.googlemail.com:587 !
listen_response() : cannot send mail report
dyndns() : connection closed

Der SMTP-Server bei googlemail hat den Port 587. Somit sieht der Eintrag im WebIF von openDD folgendermaßen aus: smtp.googlemail.com:587

Das scheint aber nicht zu funktionieren. Wo liegt der Fehler?

Habe das Ganze mit einem anderen SMTP-Server, der standardmäßig Port 25 nutzt, getestet, da funktioniert's.

Vielen Dank im Voraus und viele Grüße

Draytek

P.S. Vielen Dank für das tolle Tool. :D
 
Du darfst nicht die Portnummer an den Hostnamen anhängen.
Anscheinend ist im Programm nicht vorgesehen, einen anderen Port als 25 zu verwenden.
 
Ist das "SMTP-over-SSL on port 587"? Wenn ja, wird dann auch eine sendmail.pem-Datei für den Client benötigt?

EDIT:
Evtl. kannst Du mit iptables und DNAT, auf den Port 587 umleiten.
 
Zuletzt bearbeitet:
Hallo,

vielen Dank für die schnellen Antworten. Offensichtlich findet die Verbindung tatsächlich per TLS bzw. STARTTLS statt.

Leider habe ich beim Googlen kein Zertifikat gefunden. Müsste dieses dann einfach zusätzlich in die opendd.pem eingetragen werden?

Vielen Dank und viele Grüße

Draytek
 
Der Port hat primär nichts mit SSL zu tun, es ist der Port, um den eigenen Mail-Server zu erreichen. Die Port-Nummer 25 ist fest in opendd eingetragen und nicht konfigurierbar, das ist alles.
Das einfachste wäre, im Quelltext die richtige Nummer einzutragen. Die elegantere Möglichkeit wäre, das konfigurierbar zu machen.
 
@Draytek:
Wenn Du es im Quelltext nicht ändern kannst/willst, dann könnte ich dir am WE einen Patch erstellen, der beim Kompilieren den Port ändert. Damit kannst Du auch genau feststellen, ob die Verbindung per TLS ist und Zertifikat benötigt wird.
 
Hier ist ein Patch, mit dem man die Portnummer über einen Parameter "smtpserverport" ändern kann.
Code:
--- opendd.c
+++ opendd.c
@@ -321,6 +321,7 @@
   void *value = NULL;
   option_type type;
   char *smtp = NULL, *user = NULL, *pwd = NULL;
+  char *port = "25", port_buf[20];
   char *mailfrom = NULL, *mailto = NULL;
   int retcode = 0;
   int dyndns_use_ssl = 0;
@@ -340,6 +341,23 @@
     break;
   }

+  value = get_option("smtpserverport", &type);
+  if (value != NULL) {
+    switch(type) {
+    case OPTION_STRING:
+      port = (char *)value;
+      break;
+    case OPTION_INT:
+      sprintf (port_buf, "%d", *(int *)value);
+      port = port_buf;
+      break;
+    default:
+      logmsg(LOG_ERR, "send_report() : \"smtpserverport\" is not a valid option !");
+      return 0;
+      break;
+    }
+  }
+
   value = get_option("mailto", &type);
   if (value == NULL)
     return 0;
@@ -401,7 +419,7 @@
     set_socket_ssl(0);

   /* Send to your SMTP server */
-  retcode = sendmail(smtp, "25", mailfrom, mailto, user, pwd, PLAIN, additional_header, msg);
+  retcode = sendmail(smtp, port, mailfrom, mailto, user, pwd, PLAIN, additional_header, msg);

   /* Then reenable it */
   if (dyndns_use_ssl)
 
Hi und danke Euch beiden für die Hilfe und den Patch.

Werde am Wochenende mal ein Image mit dem Patch bauen (muss mich da erstmal einlesen) und dann mal schauen, ob ein Zertifikat benötigt wird oder nicht. Melde mich dann wieder.

Vielen Dank und viele Grüße

Draytek
 
Hallo,

bin leider zu unfähig, den Patch einzuspielen.

Habe analog, wie z.B. hier beschrieben, versucht den Patch einzuspielen.

1. Patch im Ordner freetz-trunk unter dem Namen opendd-20101130_1.patch.txt gespeichert.

2. Konsole gestartet und unter freetz-trunk patch -p0 < opendd-20101130_1.patch.txt eingegeben.

3. Es erscheint folgende Fehlermeldung:

Code:
patching file opendd.c
Hunk #1 FAILED at 321.
Hunk #2 FAILED at 340.
Hunk #3 FAILED at 401.
3 out of 3 hunks FAILED -- saving rejects to file opendd.c.rej

Vielen Dank und viele Grüße

Draytek

P.S. Benutze den Trunk-Version 6227 bzw. 74.04.86freetz-devel-6227M
 
Hallo,

hat leider auch nicht geklappt:

1. Habe den Patch wie vorgeschlagen unter /trunk/make/opendd/patches als 170_opendd_c.patch angelegt.

2. Dann make ausgeführt.

Folgende Fehlermeldung erhalten:

Code:
applying patch file make/opendd/patches/170_opendd_c.patch
patching file opendd.c
Hunk #2 FAILED at 341.
Hunk #3 FAILED at 402.
2 out of 3 hunks FAILED -- saving rejects to file opendd.c.rej
----------------------------------------------------------------------
ERROR: modpatch: Error in patch-file make/opendd/patches/170_opendd_c.patch
make: *** [source/target-mipsel_uClibc-0.9.29/opendd/.unpacked] Fehler 2

Sorry, wenn ich mich so paddelig anstelle. Habe zwar schon einige Freetz-Images gebaut, aber bisher noch keinerlei Erfahrungen mit dem Einspielen von Patches. Habe wirklich viel gesucht und gelesen (auch im Freetz Trac) die letzten Tage.

Vielen Dank und viele Grüße

Draytek
 
Naja, hatte das mit dem Suffix .txt exakt so dem o.a. Beitrag entnommen. Aber auch

Code:
patch -p0 < opendd-20101130_1.patch

"spuckt" folgende Meldungen aus:

Code:
patching file opendd.c
Hunk #1 FAILED at 321.
Hunk #2 FAILED at 340.
Hunk #3 FAILED at 401.
3 out of 3 hunks FAILED -- saving rejects to file opendd.c.rej

Viele Grüße

Draytek
 
Hallo,

hat leider auch nicht geklappt:

1. Habe den Patch wie vorgeschlagen unter /trunk/make/opendd/patches als 170_opendd_c.patch angelegt.

2. Dann make ausgeführt.
...
Hast Du vorher das evtl. veränderte opendd gelöscht und vor dem Ablegen des Patches im Ordner patches, opendd neu ausgecheckt?
Wenn der Patch geht brauchst Du im opendd-Paket, angepasste cgi/cfg-Datein, damit Du den Port konfigurieren/ändern kannst. Mit dem Patch allein kommst Du nicht weiter.
 
Versuch es mal mit einer Patch-Datei "170_opendd_c.patch", im Ordner "patches".
Das ist zwar gut, um das Ganze zu automatisieren, hilft aber nicht, wenn der Patch an sich nicht passt.

hat leider auch nicht geklappt
Interessant, daß hier nur 2 von 3 Hunks nicht passen, während es vorher alle drei waren.

Ernsthaft, funktioniert das so? (mit Endung .txt)
Dem Patch Programm ist es egal, wie die Datei heißt. Durch die Eingabe-Umlenkung bekommt das Programm noch nicht einmal mit, wie die Datei heißt. Auch sonst ist es nur eine Konvention, am Ende des Namens ".patch" zu verwenden. Es kann genauso gut ".diff" oder ".txt" oder was auch immer sein.

PS:
Im Trunk habe ich den Patch jetzt drin.
 
Der Patch in dem Beitrag sollte schon passen, aber die daraus erstellte Datei anscheinend nicht. Beim zweiten Versuch war es dann schon etwas besser, aber immer noch nicht ganz ...
 
Flascher Editor vielleicht, der irgendwelche Windows-Umbrüche hinterlässt?
nee, is Quatsch
 

Statistik des Forums

Themen
246,085
Beiträge
2,245,799
Mitglieder
373,539
Neuestes Mitglied
Horst Fürst
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.