Problem:
Häufig will man eine kleine Änderung in die <code>sendmail.mccode> einbauen, wie z.B. SpamAssassin als Milter, etc. Aber in <code>/etc/mail/code> findet man keine brauchbare <code>sendmail.mccode>.
Erklärung:
SuSE hat keine reelle <code>sendmail.mccode>. Die <code>.mccode> wird on the fly vom Script <code>/sbin/conf.d/SuSEconfig.sendmailcode> aus diversen Einstellungen aus den Dateien <code>/etc/rc.configcode> und <code>/etc/rc.config.d/sendmail.rc.config<code> (für SuSE älter als 8.0) oder <code>/etc/sysconfig/sendmail<code> (für SuSE ab 8.0) gebildet.
Diese <code>.mccode> wird nur temporär erzeugt, daraus die <code>/etc/sendmail.cfcode> compiliert und dann wieder gelöscht.
Lösung:
- Man findet alle nötigen Einstellungen in den oben genannten Dateien.
- Mit den vorhandenen Dateien <code>/etc/mail/linux.mccode> (oder <code>/etc/mail/linux.nullclient.mccode>) kann man auch schnell eine eigene <code>.mccode> erstellen. Beide enthalten ausreichend viele Kommentare zur Verständnis.
- Um die temporär erzeugte <code>.mccode> abzufangen, kann man den Löschbefehl in der Datei <code>/sbin/conf.d/SuSEconfig.sendmailcode> auskommentieren.
In allen Fällen muß ab dann die <code>.cfcode> per Hand erstellt werden:
m4 /etc/my.sendmail.mc > /etc/sendmail.cf
Daraufhin muß sendmail nur einmal die Config neu einlesen: <code>rcsendmail reloadcode>.
Damit SuSEconfig in Zukunft die Finger von der eigenen <code>sendmail.cfcode> läßt, sollte folgender Schritt beachtet werden:
Für SuSE älter als 8.0:
In <code>/etc/rc.config.d/sendmail.rc.configcode> muß folgende Variable gesetzt werden:
SENDMAIL_TYPE = no
Für SuSE ab 8.0:
Hier muß im Script <code>/sbin/conf.d/SuSEconfig.sendmailcode> direkt am Anfang ein <code>exitcode> eingefügt werden.