Was ich so treibe...

Uli's IT-Blog - Konzeption, Entwicklung, Betrieb

SMTP ohne SMTP-Daemon

Bei einem Kunden setze ich Redmine ein. Es läuft dort auf meinem Klapprechner in einer lokalen VM. Die Kunden-Infrastruktur “kennt” diese VM nicht. Dennoch soll Redmine Email-Benachrichtigungen verschicken. Mit den üblichen Mechanismen geht das nicht, weil die VM nicht als “sende-berechtigt” vermerkt ist. Aber ich habe ja einen SSH-Login auf einen Rechner, der Emails versenden kann. Hier die Beschreibung, wie man Redmine (… oder auf fast jede andere Applikation) dazu bringt, die Mails über diesen Zwischenrechner zu versenden.

Aktionen innerhalb der Redmine-VM

SSH-Schlüssel für den Email-Versand erzeugen

XINETD installieren

XINETD konfigurieren

./etc/xinet.d/smtp
1
2
3
4
5
6
7
8
9
10
11
12
service smtp
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        disable         = no
        server          = /usr/bin/ssh
        server_args     = -q -T -i /root/.ssh/tunnel_key {user}@{email-server}
        groups          = yes
        bind            = 127.0.0.1
}

Hierbei müssen diese Ersetzungen vorgenommen werden:

  • {user}
  • {email-server}

Aktionen auf dem Email-Server

Sicherstellen: netcat ist verfügbar

SSH-Schlüssel eintragen

.ssh/authorized_keys
1
command="netcat -w 1 localhost smtp",no-X11-forwarding,no-agent-forwarding,no-port-forwarding ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT+uY0OTjsDDnJFxVVapm+w2Sc4NdJU5cQC/KFqSQ0RplDy4vvtBFSjY4ucGErQxEjpeQj2mr1KV0abpnWMZU9HpBzEA2qGObmjSKvLeceVXWoqHjOCzSywmiA18XJ2/pjKz4cCD/DV2QAO32zWRfWhXCU2XlU+dZJa8kDqwL9VS3/Isg5PNr7f9l026vTcdg3zaT0J8M1N3Ag7jILBbZD2JeeXTINqKXn3QEm/IqicLZnDHumzgMHNnurtsbCsmmDS4BySLQxISOOLnb5s7TsdAKwRWnz5uw7JxRlXHPh1t+lgkr5Qcf8LLU2Hqa5Vik11Xm41yJ9c9l2LcaB98CF

Comments