Probleme mit sendmail in chroot Environment

AnNaSF

New Member
Hi!

Ich habe sendmail in ein chroot Environment installiert.
Das sendmail binary liegt im /bin Verzeichnis des chroot Environments.
Die benötigten libs wurden via lddcopy ins chroot Environment kopiert.

Bei Aufruf von sendmail innerhalb des chroot Environments erscheint nun aber:

Code:
plesk sendmail[31574]: cannot create temporary file - (2) No such file or directory
plesk sendmail[31574]: Unable to save stdin content to temporary file

Irgendeine Idee was noch fehlen könnte bzw. wie man rausbekommen könnte was noch fehlt?

Danke.
 
Enthält deine Konfiguration denn einen Pfad zu dieser temporären Datei? Anhand der Config sollte sich herausfinden lassen, wohin er denn überhaupt möchte (und somit auch warum dies fehlschlägt).

(Ich bin wahrlich kein sendmail-Experte :P)
 
Das ist leider schon mein größtes Problem.
Ich weiß nicht *wo* er hinschreiben will und kann das der Postfix Konfiguration (mail.cf, master.cf, etc.) auch nicht entnehmen.

Tipps?
 
Wieso Postfix? Du sprachst doch eben von sendmail. Was genau hast du denn bislang gemacht, wie sieht dein Setup konkret aus?
 
Ich habe Plesk installiert; am Mailservice habe ich sonst nichts verändert.
Und wie man sieht veranlasst Plesk dass das "normale" Sendmail nun auf einen sog. Wrapper zeigt dessen Name darauf hindeutet dass hier Postfix zum Einsatz kommt:

Code:
lrwxrwxrwx 1 root root        43 Feb 27 01:41 sendmail -> /usr/lib/plesk-9.0/postfix-sendmail-wrapper
 
Die sendmail-binary versucht generell sich via Socket mit dem Postfix service zu verbinden was im Chroot nicht klappen wird ausser du importierst diesen auch.

In chroot's verwende ich bevorzugt femail, ein kleines C-Skript welches via 127.0.0.1 TCP die emails relayen kann und keine weiteren Abhängigkeiten hat.
 
Die sendmail-binary versucht generell sich via Socket mit dem Postfix service zu verbinden was im Chroot nicht klappen wird ausser du importierst diesen auch.

In chroot's verwende ich bevorzugt femail, ein kleines C-Skript welches via 127.0.0.1 TCP die emails relayen kann und keine weiteren Abhängigkeiten hat.

Wo bekommt man denn dieses femail her?
Google spuckt mir nichts sinniges aus.
 
Habs gefunden, aber nur um Source.
Ein make endet dabei mit:

Code:
root@lvps87-230-19-246:~/femail-0.98# make
cc  femail.o openbsd_compat.o  -o femail
femail.o: In function `build_from':
femail.c:(.text+0x701): undefined reference to `strlcpy'
femail.c:(.text+0x7c7): undefined reference to `strlcpy'
femail.o: In function `parse_message':
femail.c:(.text+0x82b): undefined reference to `fgetln'
femail.o: In function `read_reply':
femail.c:(.text+0x17e7): undefined reference to `strlcpy'
femail.o: In function `parse_config':
femail.c:(.text+0x1e81): undefined reference to `strlcpy'
femail.c:(.text+0x1eec): undefined reference to `fgetln'
femail.o: In function `next_token':
femail.c:(.text+0x20dc): undefined reference to `strlcpy'
collect2: ld returned 1 exit status
make: *** [femail] Error 1

Eigentlich wollt ich doch nur Mails versenden und dazu nicht auch noch C lernen (sorry, komme aus der Java Welt)...
 
Wird eine Abhängigkeit fehlen oder nicht finden.

Edit: Schnelles googeln sagt schon mal das weder strlcpy noch fgetln Standard C Befehle sind

Edit2: Ist das das Programm http://quigon.bsws.de/femail/ ? Das ist direkt für BSD geschrieben (BSDlibc). Stellt sich die nächste Frage: Wird BSD (bzw. Derivat) auch benutzt?
 
Last edited by a moderator:
Das ist direkt für BSD geschrieben (BSDlibc). Stellt sich die nächste Frage: Wird BSD (bzw. Derivat) auch benutzt?
Das Programm ist zwar eigentlich für Openbsd entwickelt, bringt jedoch eine entsprechende openbsd_compat Bibliothek frei Haus mit.

Der eigentliche Fehler steckt im Detail, aus mir bislang nicht ergründlichen Gründen werden 2 Build-Flags in der mitgelieferten Makefile angegeben welche dafür sorgen dass ein Teil dieser Kompatibilitätsbibliothek übersprungen wird.
Hier muss in der Datei "Makefile" die Zeile welche mit " CFLAGS+=" anfängt durch ein Hashtag auskommentiert werden - danach sollte es korrekt kompilieren.
 
Im Makefile gibt es 2 Zeilen die mit einem # anfangen.
Es gibt ferner eine Datei die mit CFLAGS+= beginnt die nicht mit einem # anfängt.

Code:
CFLAGS+= -DHAS_FGETLN -DHAS_STRLCPY
#CFLAGS+= -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
#CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare

Ich habe allein Zeilentestweise das # weggenommen oder hinzugefügt, dh alle Permutationen getestet, und danach ein make abgesetzt. Gleicher Fehler wie zuvor.

Siehe auch Anhang.
 

Attachments

Last edited by a moderator:
Nun scheitert der Sendeversuch:

Code:
root@xxx:~# echo "My test email being sent from sendmail" | /root/femail-0.98/femail-0.98/femail xxx@xxx.de
femail: server sends error after DATA

Verbose output:

Code:
root@...:~# echo "My test email being sent from sendmail" | /root/femail-0.98/femail-0.98/femail xxx@xxx.de
<<< 220 xxx ESMTP Postfix (Ubuntu)
>>> EHLO xxx
<<< 250-xxx
<<< 250-PIPELINING
<<< 250-SIZE 102400000
<<< 250-ETRN
<<< 250-STARTTLS
<<< 250-AUTH DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
<<< 250-XFORWARD NAME ADDR PROTO HELO SOURCE PORT IDENT
<<< 250-ENHANCEDSTATUSCODES
<<< 250-8BITMIME
<<< 250 DSN
>>> MAIL FROM:<xxx>
<<< 250 2.1.0 Ok
>>> RCPT TO:<xxx>
<<< 250 2.1.5 Ok
>>> DATA
<<< 550 5.7.1 Command rejected

Ideen?
 
Die Log deines Mailservers sollte Aufschluss darüber geben warum er Emails verweigert.
 
Im Log seh ich nur:
Code:
Jun 16 07:27:57 xxx postfix/smtpd[2394]: E0F34AD6: milter-reject: DATA from unknown[::1]: 550 5.7.1 Command rejected; from=<info@xxx> to=<info@xxx> proto=ESMTP helo=<xxx>
Jun 16 07:27:57 xxx postfix/smtpd[2394]: lost connection after DATA from unknown[::1]
Jun 16 07:27:57 xxx postfix/smtpd[2394]: disconnect from unknown[::1]

In meiner /etc/femail.conf steht lediglich:
Code:
smtphost=localhost

Senden versuche ich im Prinzip so:
Code:
echo "My test email being sent from sendmail" | /root/femail-0.98/femail-0.98/femail xxx@xxx.de

Wobei ich schon wild mit den Parametern -F und -f gespielt habe; ohne Erfolg.

Ideen?
 
Last edited by a moderator:
Back
Top