Posts Tagged ‘E-Mail’

Donnerstag, 15. August 2013

Mit imapfilter eingehende E-Mails verschieben — aber erst nach der Lektüre

In einem anderen Blog-Artikel habe ich vor einiger Zeit beschrieben, wie ich mich mittels imapfilter von den Filterregeln meiner Mailserverbetreiber losgelöst habe. Sollte ich mich jemals von der cyon GmbH abwenden, müsste ich die Filterregeln beim neuen Anbieter — falls überhaupt möglich — nicht erneut umständlich über eine Web-Oberfläche einprogrammieren.

In der Zwischenzeit habe ich realisiert, dass nachfolgender Befehl optimal ist, um Nachrichten automatisiert in der IMAP-Ordnerstruktur abzulegen — aber erst, nachdem ich die Nachrichten auch wirklich gelesen habe:

messages = mbox.INBOX:contain_from('email@domain.tld') * mbox.INBOX:is_seen()
messages:move_messages(mbox['IMAP-Folder'])

Der erste Befehl auf der ersten Zeile wählt E-Mails eines bestimmten Absenders aus. Das Asterisk (“*”) bedeutet “AND”, während der zweite Teil des Ausdrucks die Bedingung macht, dass die E-mail-Nachricht als gelesen markiert ist.

Ich verwende einen solchen Filter beispielsweise, um Kalendereinladungen abzulegen, sobald ich diese bestätigt habe.

Tags: , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. Juni 2013

Mit postfix über cyons SMTP E-Mails versenden

Wer wie ich zu Hause einen Linux-Server betreibt, benötigt manchmal auch die Möglichkeit, E-Mails zu versenden.

Mit folgenden Einstellungen versende ich mit Linux E-Mails über meinen schweizerischen Qualitätshoster cyon:

/etc/postfix/main.cf

...
relayhost = [server00.cyon.ch]
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl/outgoing
smtp_sasl_security_options = noanonymous

Damit der Versand aber effektiv klappt, muss ich wie im Attribut smtp_sasl_password_maps angegeben noch die Zugangsdaten eines cyon-Mail-Kontos hinterlegen:

/etc/postfix/sasl/outgoing

[server00.cyon.ch] user@domain.tld:password

Bevor postfix zum ersten Mal gestartet wird, muss diese Datei gehasht werden:

# postmap /etc/postfix/sasl/outgoing

Damit wird eine neue Datei unter /etc/postfix/sasl/outgoing.db angelegt, welche von postfix beim nächsten Start eingelesen wird.

Test

Zu Testzwecken versende ich nun per Kommandozeile eine E-Mail:

$ echo "Bla" | mail -s "Test" user@domain.tld

WICHTIG: Es empfiehlt sich, im cyon-Control Panel eine dediziertes E-Mail-Konto anzulegen, welches nur dem E-Mail-Versand dient. Sollte der Server gehackt werden, kann sich der Angreifer so nicht im privaten E-Mail-Verkehr herumtummeln.

Die beiden Dateien /etc/postfix/sasl/outgoing und /etc/postfix/sasl/outgoing.db sollten zudem nur für den Besitzer lesbar gemacht werden:

# chmod 600 /etc/postfix/sasl/outgoing /etc/postfix/sasl/outgoing.db

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 27. März 2012

E-Mail-Adressenformat von Firmen herausfinden

Gelegentlich stehe ich vor der Aufgabe, ein Mitarbeiter unter seiner E-Mail-Adresse auf der Arbeit zu kontaktieren, dessen E-Mail-Adresse ich nicht kenne.

Damit ich das Format der E-Mail-Adressen der jeweiligen Firma herausfinden kann, besuche ich dann jeweils die Web-Site. Manchmal werden die E-Mail-Adressen von leitenden Personen auf der Web-Site angegeben, anhand derer man anschliessend die Adresse der gesuchten Person herleiten kann. Ist dies nicht der Fall, gibt es aus Erfahrung noch ein anderer Ort auf der Web-Site, wo man heute garantiert eine E-Mail-Adresse findet: Bei den Stellenangeboten. Normalerweise ist bei einem Stelleninserat die E-Mail-Adresse der verantwortlichen HR-Mitarbeiterin angegeben.

PS: Leider verhindert Google meines Wissens die Suche nach E-Mail-Adressen auf einer bestimmten Web-Site, um es Spammern nicht zu einfach zu machen, an neues Adress-Material zu gelangen.

Tags: ,
Labels: Web

1 Kommentar | neuen Kommentar verfassen

Sonntag, 19. Juni 2011

Mail.app 4.5 sortiert IMAP-Ordner nicht alphabetisch

Offenbar erlaubt Apple seit Mac OS X Snow Leopard das Verschieben von IMAP-Ordnern innerhalb der Liste. Leider hat dies aber zur Folge, dass nachträglich erstellte Ordner nicht mehr alphabetisch eingeordnet werden, sondern ans Ende der Liste gelangen.

Um die Sortierung zurückzusetzen, führe man deshalb bei jeder sich bietender Gelegenheit folgenden Befehl aus:

$ rm ~/Library/Mail/<interne Bezeichnung des Mail-Kontos>/.mboxCache.plist

Quelle: Mail Not Sorting new Folders Added Alphbetically

Tags: , , , , ,
Labels: Apple

2 Kommentare | neuen Kommentar verfassen

Dienstag, 31. Mai 2011

Wieso man E-Mail-Adressen im Web nicht verschleiern sollte

Alle Jahre wieder erhalte ich Anfragen von besorgten Internet-Nutzern, wieso deren E-Mail-Adresse im Klartext auf Web-Sites erscheint. So könne sie doch problemlos von Spammern entwendet werden, worauf die Mailbox mit unerwünschten Mails überquillt.

Doch:

Spam is a problem for you–obfuscation makes it a problem for your users.

Quelle: Obfuscate no more: why your email address should go au naturale – Jason Priem

Schöner kann man es nicht ausdrücken: Indem ich Mail-Adressen verschlüssle (beispielsweise in der Form spam at emeidi dot com), schütze ich mich vielleicht vor Spam (dabei weiss jeder anständige Web-Entwickler, wie rasch man einen Spider entwickelt hat, der in HTML-Dumps nach “at” und “dot” Ausschau hält), aber garantiert auch davor, dass Personen auf gewohnte Weise mit mir Kontakt aufnehmen können — nämlich mit Klick auf meine verlinkte E-Mail-Adresse.

Stattdessen sollten wir unsere Mail-Accounts lieber auf Servern hosten, die gut funktionierende Spam-Filter im Einsatz haben.

Notabene: Natürlich gibt es andere, offenbar sehr gut funktionierende Methoden, die besser wirken — doch unter uns: Soll ich als Web-Entwickler wirklich mühsam Zeit aufwenden, um E-Mail-Adressen über meine ganze Web-Site zu verschlüsseln? Dadurch erhöhen sich höchstens der Wartungsaufwand und die Fehlerquellen.

Tags: , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Samstag, 12. März 2011

IMAP-Mailbox lokal sichern

Am 23. März 2011 ist es soweit: Ich erhalte endlich das Diplom zu meinem Studienabschluss in die Hand gedrückt. Da ich seit dem 31. Januar 2011 von der Universität Bern exmatrikuliert bin, ist es nur eine Frage der Zeit, bis mein Mailkonto mario.aeby@students.unibe.ch aufgehoben wird.

Damit ich ein vollständiges und sicheres Backup meines gesamten E-Mail-Verkehrs auf meiner lokalen Festplatte ablegen kann, verwende ich mit imapbackup.py ein frei aus dem Internet verfügbares Python-Script, welches — einmal aufgerufen — standardkonforme .mbox-Dateien im aktuellen Verzeichnis ablegt.

Nachdem man das Script heruntergeladen und vorzugsweise im eigenen Home-Verzeichnis abgelegt hat, geht man folgendermassen vor:

$ python ~/imapbackup.py -s mail.unibe.ch -u ma02i093

Tags: , , , ,
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Samstag, 14. August 2010

E-Mails mit imapfilter serverseitig ablegen

Seit vielen Jahren verwende ich das IMAP-Protokoll zum Zugriff auf alle meine Mail-Adressen. Doch leider nimmt die Mailflut immer mehr zu, und das stört.

Bis zum heutigen Tag habe ich mich “Regeln” in Apple Mail beholfen, um Mails beim Eintreffen in die entsprechenden Unterordner abzulegen. Seit ich aber einen Laptop und ein iPhone besitze und zunehmend auch unterwegs Mails abrufe, wäre es äusserst nützlich, wenn ich eingehende Mails vollständig automatisch serverseitig vorsortieren und in Unterordner ablegen könnte.

Bisher war ich dazu genötigt, die Regeln von Apple Mail auf meiner Workstation zu Hause auf den Laptop zu übertragen. Immer wieder habe ich mir dabei vorgenommen, diese Redundanz aufzuheben. Heute ist es nun soweit!

Was tun? Wer einen dedizierten Mailserver im Keller stehen hat, wird sich auf procmail-Scripts stützen (ich habe auch schon darüber berichtet), die eingehende E-Mails nach bestimmten Kriterien in Unterordner verschieben. Dies ist für mich keine Option, weil mein von Genotec betriebener Mailserver keinen Shellzugriff bietet. Auch bietet der Hoster keine anständige Möglichkeit an, serverbasierte Filter einzurichten.

Heute nun bin ich via einer diesbezüglichen Frage auf der Community Serverfault auf imapfilter gestossen.

Installation

Zuerst installiert man sich das Paket unter Debian auf einem ans Internet angeschlossenen Server, der nonstopp läuft:

apt-get install imapfilter

Filterregeln erstellen

Anschliessend schreibt man sich mit der Sprache Lua (vgl. die Beispiele Rotating email into your inbox using imapfilter sowie sample.config.lua.txt) entsprechende Filter-Rezepte und legt diese nach einem chmod 600 * im Homefolder beispielsweise unter ~/.imapfilter/filter/ ab.

Nachfolgend ein solches “Rezept” für einen meiner Mailkonti:

mbox = IMAP {
    server = 'mail.server.tld',
    username = 'user@domain.com',
    password = '********',
    ssl = 'ssl3'
}

-- Facebook
messages = mbox.INBOX:contain_from('facebookmail.com')
messages:move_messages(mbox['Facebook'])

...

-- AHC
messages = mbox.INBOX:contain_field('List-ID','gi-ch.googlegroups.com')
messages:move_messages(mbox['AHC'])

...

Wie man anhand dieses Beispiel sieht, kann man jedes beliebige Feld des Mail-Headers auswerten. Als Hilfe für alle verfügbaren contain_X-Befehle sei auf die Dokumentation unter imapfilter_config – imapfilter configuration file verwiesen. Es gibt auch noch andere Befehle, die es ermöglichen, noch deutlich feingranuliertere Regeln zu programmieren.

Hat man wie ich mehrere Mail-Konti, die abgegrast werden sollen, erstellt man entsprechende Filter für jedes Konto und legt diese im selben Ordner unter einem aussagekräftigen Namen ab.

Shell-Script schreiben

Damit man diese nun alle auf’s Mal durchackern lassen kann, empfiehlt sich, ein kleines Shell-Script zu schreiben:

#!/bin/sh

IMAPFILTER=`which imapfilter`
RECIPESROOT="~/.imapfilter/filter"

cd $RECIPESROOT

for RECIPE in *
do
        #echo "Running $IMAPFILTER -c '$RECIPESROOT/$RECIPE'"
        $IMAPFILTER -c "$RECIPESROOT/$RECIPE"
done

exit 0

Cron-Job einrichten

Anschliessend richtet man einen Cron-Job ein, der die Mailserver beispielsweise alle 5 Minuten nach neuen Nachrichten abfragt und je nachdem die Filterregeln anwendet:

*/5 * * * *	/usr/local/bin/imapfilter.sh

Fertig ist der kostenlose, transparente Filterservice für eingehende Mails.

Tags: , , ,
Labels: Linux

3 Kommentare | neuen Kommentar verfassen

Dienstag, 27. Juli 2010

Vacation-Meldung als Antwort auf automatisch generierte Mails verhindern

Sommerzeit — Ferienzeit — Vacation-Meldungszeit!

Dies hat heute dazu geführt, dass auf der Arbeit auf automatisch generierte Mails (mit Infos über Änderungen im Personalverzeichnis) mit Vacation-Meldungen der angeschriebenen Mitarbeiterinnen geantwortet wurde.

Um dies zu verhindern, sollte es ausreichen, wenn dem automatisch generiert Mail folgende zwei Header-Zeilen mitgegeben werden:

...
Precedence: bulk
Auto-submitted: auto-generated
...

Die meisten aktuellen Mail-Server sollten auf solche Mails nicht mehr mit einer Vacation-Meldung reagieren.

PHP Mailer

In meinem konkreten Fall sah die Anpassung im PHP-Script folgendermassen aus (ich verwende die vorzügliche Klasse PHP Mailer, um Mails zu generieren und zu versenden):

...
$mail->AddCustomHeader('Precedence: bulk');
$mail->AddCustomHeader('Auto-submitted: auto-generated');
...

Und still ward’s auf dem Web-Server …

Tags: , , ,
Labels: Allgemein

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 23. August 2009

Mythos Inbox Zero

Das theoretische Grundgerüst zu Inbox Zero ist mir längst bekannt, doch mit Blick auf den aktuellen Stand meiner INBOX – 321 messages – hapert die praktische Umsetzung noch ein bisschen. Doch welch erlösendes Gefühl, als ich heute zufälligerweise folgenden Blog-Artikel gelesen habe:

Inbox Zero is a myth. And soon it will be a book about a myth. Really, it’s a term that geeks use so we can convince ourselves that we’re winning the battle against communication overload. We’re not winning. We’re just selectively forgetting certain emails, half-responding to others, and if worse comes to worse, switching communication platforms. That’s not winning, that’s running.

Quelle: ParisLemon » On Inbox Zero

Nun, obwohl ich Inbox Zero noch nie ausprobiert habe schlage ich mich aus reiner Erfahrung sofort auf Sieglers Seite. Klingt irgendwie einleuchtend.

Tags: ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Dienstag, 16. Juni 2009

postfix unter Mac OS X 10.4 aktivieren (inklusive SMTP-Relay)

Obwohl es ein kostenpflichtiges GUI zur Konfiguration des postfix-Mailservers gibt, machen wir als Geeks die Sache lieber von Hand auf der Kommandozeile.

Da Apple postfix bereits mit der Standardinstallation von Mac OS X mitliefert, den Daemon aber nicht aktiviert, sind die Arbeiten relativ trivial. Wer nicht das erste Mal mit dem CLI in Berührung kommt und sich mit sudo und vim auskennt, sollte den SMTP-Server innert 5-10 Minuten am Laufen haben.

Wichtig ist, dass hier nicht der lokale SMTP-Server aktiviert, sondern auch gleich ein relayhost eingerichtet wird. In meinem Fall ist das der SMTP-Server meines ISPs Cablecom. Damit ist es möglich, Mails auch tatsächlich in die weite Welt hinauszusenden. Vorausgesetzt, man verfügt über einen SMTP-Account bei seinem ISP.

/etc/hostconfig

...
MAILSERVER=-YES-
...

/etc/postfix/main.cf

...
myhostname = mad4you.homeip.net
mydomain = mad4you.homeip.net
myorigin = $myhostname
...
inet_interfaces = localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks_style = host
mynetworks = 127.0.0.0/8
...
relayhost = smtp.hispeed.ch
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
...

/etc/postfix/sasl_passwd

smtp.hispeed.ch user@hispeed.ch:geheim

Sicherheitsvorkehrungen:

$ chmod 600 /etc/postfix/sasl_passwd
# chown root:root /etc/postfix/sasl_passwd

Anschliessend muss die Passwort-Datei gehasht werden, da die Angaben sonst nicht von postfix interpretiert werden:

# postmap /etc/postfix/sasl_passwd

Neustart des Daemons

# sudo launchctl start org.postfix.master

Test

$ echo `date` | mail -s "Dies ist ein Test-Betreff von der Kommandoziele" spam@eMeidi.com

Ein Blick in /var/log/mail.log zeigt umgehend, ob was rausgegangen ist oder nicht:

$ tail -f /var/log/mail.log
...
Jun 16 15:03:00 BETA postfix/master[1314]: daemon started -- version 2.1.5
Jun 16 15:03:02 BETA postfix/pickup[1315]: 058FE1A17BFE: uid=501 from=
Jun 16 15:03:02 BETA postfix/cleanup[1316]: 058FE1A17BFE: message-id=<20090616130300.058FE1A17BFE@mad4you.homeip.net>
Jun 16 15:03:02 BETA postfix/qmgr[1319]: 058FE1A17BFE: from=, size=342, nrcpt=1 (queue active)
Jun 16 15:03:04 BETA postfix/smtp[1320]: 058FE1A17BFE: to=, relay=smtp.hispeed.ch[213.46.255.24], delay=4, status=sent (250 2.0.0 4d311c07P0MzJ8L01d33xm message accepted for delivery)
Jun 16 15:03:04 BETA postfix/qmgr[1319]: 058FE1A17BFE: removed
Jun 16 15:04:00 BETA postfix/master[1314]: master exit time has arrived
...

Quellen

Tags: , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen