Edgar Ehritt: UTF-8 mail SMTP

Beitrag lesen

Hi Tom,

Wird da wirklich etwas abhängig von Sendmail-Header-Dateien eincompiliert?

früher ja. War sendmail (oder ein Adäquat, bzw. dessen Headerdatein) nicht verfügbar, gab es die Funktion mail() gar nicht. Den heutigen Stand musste ich mir erstmal wieder erlesen (danke für die Nachfrage) und kann nur grobschlecht sagen: Es ist dem nicht mehr so.

configure; Zeile 12729 -> 12766

  PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib  
  # Extract the first word of "sendmail", so it can be a program name with args.  
set dummy sendmail; ac_word=$2  
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6  
echo "configure:12734: checking for $ac_word" >&5  
if eval "test \"`echo '$''{'ac_cv_path_PROG_SENDMAIL'+set}'`\" = set"; then  
  echo $ac_n "(cached) $ac_c" 1>&6  
else  
  case "$PROG_SENDMAIL" in  
  /*)  
  ac_cv_path_PROG_SENDMAIL="$PROG_SENDMAIL" # Let the user override the test with a path.  
  ;;  
  ?:/*)			  
  ac_cv_path_PROG_SENDMAIL="$PROG_SENDMAIL" # Let the user override the test with a dos path.  
  ;;  
  *)  
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"  
  ac_dummy="$PATH:$PHP_ALT_PATH"  
  for ac_dir in $ac_dummy; do  
    test -z "$ac_dir" && ac_dir=.  
    if test -f $ac_dir/$ac_word; then  
      ac_cv_path_PROG_SENDMAIL="$ac_dir/$ac_word"  
      break  
    fi  
  done  
  IFS="$ac_save_ifs"  
  ;;  
esac  
fi  
PROG_SENDMAIL="$ac_cv_path_PROG_SENDMAIL"  
if test -n "$PROG_SENDMAIL"; then  
  echo "$ac_t""$PROG_SENDMAIL" 1>&6  
else  
  echo "$ac_t""no" 1>&6  
fi  
  
  
  PHP_VAR_SUBST="$PHP_VAR_SUBST PROG_SENDMAIL"

Letztlich hatte ich ja schon über die mangelhafte Dokumentation PHPs gewettert. Es trifft also nicht mehr zu. PHP greift nicht mehr darauf zurück und es wird nur noch der Pfad zum Programm gesucht. Diese Prozedur kann, wie Du ja auch schriebst, angesichts der Konfigurationsdirektive "sendmail_path" nur als Bonbon bezeichnet werden. Für die Version 4.* sollte dies aber noch (hoff) zutreffen. ;)

Ich habe das so in Erinnerung, dass unter Linux das "sendmail"-Script bemüht wird, dem die fertig vorbereitete Mail per Pipe übergeben wird. Dieses Script benötigt dann natürlich für seine  Eingangsgröße die Einstellungen, wie sie auf der Kommandozeile herrschen, also mit "\n" die Umbrüche.

So ist es auch noch heute. sendmail, was auch eine Testanwendung sein kann, liest vom stdin die Nachricht ein.

Gruß aus Berlin!
eddi

--
Ab einem gewissen Erkenntnisstand ist die Versuchung wohl zu groß, in diesem und seinen begleitenden Errungenschaften zu verharren.
Das nenne ich Aufblick zu den Stufen des Tempels von der geistigen Gosse aus!