Mailversand ohne Outlook: So funktioniert's
Schritt-für-Schritt-Anleitung
Um E-Mails über den Strato-Communicator aus Excel zu versenden, kannst Du die folgenden Schritte ausführen:
-
VBA-Editor öffnen:
- Drücke
ALT + F11, um den VBA-Editor zu öffnen.
-
Neues Modul hinzufügen:
- Klicke im Menü auf
Einfügen und wähle Modul.
-
Code einfügen:
- Füge den folgenden Code in das Modul ein, um den Strato-Communicator zu starten und eine E-Mail zu versenden:
Sub mailMitStrato()
Dim wshshell As Object
Set wshshell = CreateObject("WScript.Shell")
' URL des Strato-Communicators
wshshell.Run "https://com4.strato.de/ox6/ox.html#&store=false"
' Hier kannst Du die Logik zum Ausfüllen der Felder hinzufügen
' Beispiel: SendKeys für Betreff und Body
Application.Wait (Now + TimeValue("0:00:02")) ' Wartezeit, um den Communicator zu laden
SendKeys "Betreff{TAB}Inhalt der E-Mail{TAB}meineMail@meinedomain.de"
End Sub
-
Code anpassen:
- Passe den Code an Deine Anforderungen an, insbesondere die E-Mail-Adressen und den Text.
-
Makro ausführen:
- Schließe den VBA-Editor und führe das Makro über
Entwicklertools > Makros aus.
Häufige Fehler und Lösungen
-
Fehler: Strato-Communicator öffnet sich nicht:
- Stelle sicher, dass die URL korrekt ist und dass Du mit dem Internet verbunden bist.
-
Fehler: E-Mail wird nicht gesendet:
- Überprüfe, ob die Felder im Communicator richtig ausgefüllt werden. Möglicherweise musst Du die Namen der Felder im HTML-Quellcode des Communicators anpassen.
-
SendKeys funktioniert nicht zuverlässig:
- Die Verwendung von
SendKeys kann fehleranfällig sein. Versuche, das Timing anzupassen oder eine andere Methode zu verwenden.
Alternative Methoden
Falls Du nicht über den Strato-Communicator versenden möchtest, gibt es andere Möglichkeiten:
-
SMTP verwenden: Wenn Dein Strato-Postfach SMTP unterstützt, kannst Du ein einfaches Kommandozeilen-Programm wie BLAT oder SendIt verwenden. Hier ist ein einfacher VBA-Code für den SMTP-Versand:
Dim ShellCommand As String
ShellCommand = "blat.exe - -to meineMail@meinedomain.de -subject 'Betreff' -body 'Inhalt der E-Mail' -attach 'D:\Pfad\zur\Datei.pdf'"
Call Shell(ShellCommand, vbNormalFocus)
-
Serienmail mit Thunderbird: Du kannst auch eine Serienmail mit Thunderbird erstellen, indem Du den Serienmail Thunderbird Excel-Ansatz verwendest.
Praktische Beispiele
Ein typisches Beispiel für den Mailversand aus einem Kassenprogramm könnte folgendermaßen aussehen:
-
Daten aus Excel:
- Du hast eine Excel-Tabelle mit Bestellungen, die Du in eine PDF umwandelst.
-
VBA-Integration:
- Der obige VBA-Code kann so angepasst werden, dass er automatisch alle Bestellungen durchläuft und eine E-Mail für jede Bestellung versendet.
-
PDF generieren:
- Stelle sicher, dass das PDF vor dem Versand erstellt wird.
Tipps für Profis
-
Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in Deinem VBA-Code, um Probleme schneller zu identifizieren.
-
Sichere E-Mail-Adressen: Verwende die Funktion excel mailadresse trennen, um sicherzustellen, dass die E-Mail-Adressen korrekt formatiert sind, bevor Du sie sendest.
-
Makro-Optimierung: Überlege, ob Du Deine VBA-Skripte optimieren kannst, um die Ausführungsgeschwindigkeit zu erhöhen.
FAQ: Häufige Fragen
1. Kann ich E-Mails aus Excel versenden, ohne VBA zu verwenden?
Ja, Du kannst auch Tools wie BLAT oder SendIt verwenden, um E-Mails über SMTP zu versenden, ohne VBA zu benötigen.
2. Funktioniert der Mailversand auch mit anderen E-Mail-Clients?
Ja, Du kannst ähnliche Ansätze mit anderen E-Mail-Clients wie Outlook oder Thunderbird verwenden, indem Du deren spezifische APIs oder Funktionen nutzt.
3. Wie kann ich mehrere Empfänger in einer E-Mail hinzufügen?
Du kannst mehrere E-Mail-Adressen durch ein Komma oder Semikolon trennen, je nach den Anforderungen des E-Mail-Clients.
4. Was tun, wenn der Communicator nicht richtig funktioniert?
Überprüfe die Internetverbindung und die URL. Möglicherweise musst Du die Einstellungen im Strato-Communicator anpassen oder den Support kontaktieren.