Da in mehreren Beiträgen schon der Wunsch nach einem Script war, mit dem man Emails versenden kann, habe ich mal was gebastelt.
Es können Empfänger, Betreff, Text und Anhänge hinzugefügt werden (weitere Funktionen möglich aber nicht im Beispielscript vorhanden).
Aufruf über Toolbar auch möglich.
Bei Fragen einfach in den Kommentaren posten.
Getestet nur mit Outlook 2003.
Keine automatische Signatur da nur Plain-Text möglich.
Wichtig ist das die Classe MAPI im selbem Script vorhanden ist in dem das Object auch aufgerufen wird (EPLAN-spezifisch).
(Wenn ihr den Empfänger noch nicht wisst dann einfach ein Leerzeichen als Parameter verwenden)
Beispielscript:
[DeclareAction("SendMail")]
public void SendMailVoid(string ADDRESS, string SUBJECT, string BODY, string ATTACH)
{
// Email Object
MAPI mapi = new MAPI();
// Empfänger
mapi.AddRecipientTo(ADDRESS);
// Anhang
mapi.AddAttachment(ATTACH);
// Email anzeigen, Betreff + Text hinzufügen
mapi.SendMailPopup(SUBJECT, BODY);
return;
}
Verwendungsbeispiele
Empfänger (weitere Empfänger werden mit dem gleichen Aufruf hinzugefügt):
mapi.AddRecipientTo("info@suplanus.de");
Anhänge (weitere Dateien werden mit dem gleichen Aufruf hinzugefügt):
mapi.AddAttachment(@"C:\Testdatei.pdf");
Email versenden
- Subject = Betreff
- Body = Text in der Email
Email direkt versenden:
mapi.SendMailDirect(SUBJECT, BODY);
Email vor dem Senden anzeigen:
mapi.SendMailPopup(SUBJECT, BODY);
Beispielaufruf über die Toolbar (neue Toolbar erstellen mit dieser Befehlszeile):
SendMail /ADDRESS:"info@suplanus.de" /SUBJECT:"Hi" /BODY:"Das ist eine Test-Email" /ATTACH:"C:\irgendeine-Datei.txt"
Probiert es mal aus. Würd mich über eine Testemail freuen (info@suplanus.de) :cool:
Moin,
da der Beitrag ja relativ als ist, muss ich für 2023 und Outlook was anpassen?
Sollte beides funktionieren. Dennoch würde ich den Mail-Versand aus EPLAN heraus in eine EXE Applikation auslagern um alle Features von .NET nutzen zu können. Die Applikation würden dann via Befehlszeilenparameter alles entgegen nehmen was notwendig ist.
Moin,
gibt es eine Möglichkeit dem E-Mail Body eine Tabelle hinzuzufügen? Üblicherweise kann man ja mit Outlook auch Tabellen einfügen. Ich hab es bis jetzt nur über Umwege geschafft. Dabei öffne ich mit einem Precess eine ebenfalls in C# erstellte exe die dann relevante daten aus einer txt in einen HTMl Body Konvertiert und versendet. Leider ist dies aber Firmen intern nur mit Admin rechten möglich.
Danke im Voraus.
Gruß Lucas
MAPI unterstützt meines Wissens kein HTML. Somit ist dies via Scripting leider nicht möglich.
I’m trying the script, but I’m recieving this error: The arithmetic operation resulted in an overflow.
EPLAN 2024 Update 4 -> Outlook 365
Have a look here: https://stackoverflow.com/questions/53378217/mapi-works-on-one-x64-system-but-not-another