| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN |
Autor
|
Thema: eMail per Script verschicken (2329 mal gelesen)
|
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 24. Aug. 2010 09:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, wir müssen bei uns zu jedem Projekt einer ganzen Reihe Leuten, eMails mit Projektinformationen schicken. Diese Infos tragen wir uns bisher immer von Hand zusammen und verschicken dann eine eMail an einen Postkorb. Meine Idee ist jetzt die, dass ich per Script die Projektinfos in ein eMail eintrage, den Empfänger definiere und einen passenden Betreff kreire, so dass ich das nicht mehr von Hand, sondern per Knopfdruck erledigen kann. Ich verspreche mir davon, dass so zu jedem Projekt dieselben Projektinfos an die richtigen Leute verschickt werden, also weniger Fehler und immer die richtigen Infos. Vielleciht kann mir jemand von Euch Scriptprofis auf die Sprünge helfen (wie schon so oft). Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alexander.thiel Mitglied M.Sc. Information Systems Dipl. Ing. (FH) Elektrotechnik/Informationstechnik
Beiträge: 77 Registriert: 26.08.2003 E21 V3.0 - V4.3 E21 API EPLAN Electric P8 Systeme: Linux MS Windows 2000 MS Windows XP
|
erstellt am: 24. Aug. 2010 10:14 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
Hallo Markus, ich bin noch nicht so 100%ig fit, was das Scripting in EPLAN anbetrifft. Du musst natürlich erst einmal die erforderlichen Daten ermitteln und aus Deinem Projekt auslesen. Was das Versenden von Mails unter Windows anbetrifft, so kannst Du mal einen Blick auf "bmail" (http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm) werfen. Es handelt sich hierbei um ein Kommandozeilenprogramm mit dem man unter Windows Mails verschicken kann. Wenn Du ein Script schreibst, das die Daten ausliest und dann einen Kommandozeilenbefehl absetzt, dann könnte das funktionieren. Gruß, Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jonny Wire Mitglied Script-Troll
Beiträge: 786 Registriert: 08.12.2008 EPLAN Electric P8 ... in allen Versionen/Varianten
|
erstellt am: 24. Aug. 2010 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
|
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 24. Aug. 2010 10:23 <-- editieren / zitieren --> Unities abgeben:
Hallo, klingt schon vielversprechend. Ich dachte, dass das etwas einfacher wird, da ja P8 das versenden des Ganzen Projektes per eMail bereits "integriert" hat. Vielleicht gibts da eine Möglichkeit. Bin mal gespannt wann Jonny da was auf SuPlanus postet (Ohne diese Seite wären wir hier noch nicht soweit wir wir es heute sind). Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ElektroKlaus Mitglied
Beiträge: 70 Registriert: 25.11.2009 EPLAN Electric P8 2.4.4
|
erstellt am: 24. Aug. 2010 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
Im .NET-Framework (welches man ja zwangsläufig einsetzt beim Script) ist bereits eine Klasse mitdrin die SMTP-Emails versenden kann. Heißt SmtpClient und ist im System.Net.Mail Namespace VG, ElektroKlaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 24. Aug. 2010 11:49 <-- editieren / zitieren --> Unities abgeben:
|
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 25. Aug. 2010 12:31 <-- editieren / zitieren --> Unities abgeben:
Ich habs nmal mit folgendem Code probiert using Microsoft.Office.Interop.Outlook; namespace OutlookHelper { public class Test // Hier wird die Klasse definiert* { [DeclareAction("ActionEMail")] // Action wird initialisiert bzw. der Name vergeben* public void SendEMail() { Application outlook = new Application(); _MailItem mail = (_MailItem)outlook.CreateItem(OlItemType.olMailItem); mail.To = "test@test.de";//sRecipient; mail.CC = "";//sCC; mail.BCC = "";//sBCC; mail.Subject = "Betreff";//sSubject; mail.Body = "Nachricht";//sBody; //foreach (string _sAttachment in sAttachment) //{ // mail.Attachments.Add(_sAttachment, OlAttachmentType.olByValue, 1, null) ; //} mail.Send(); mail = null; outlook = null; } } } Bekomme da aber immer die Fehlermeldung, dass Office nicht im Namespace Microsoft vorhanden ist. Vielleicht weiß jemand Rat? Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
alexander.thiel Mitglied M.Sc. Information Systems Dipl. Ing. (FH) Elektrotechnik/Informationstechnik
Beiträge: 77 Registriert: 26.08.2003 E21 V3.0 - V4.3 E21 API EPLAN Electric P8 Systeme: Linux MS Windows 2000 MS Windows XP
|
erstellt am: 25. Aug. 2010 18:23 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
Hallo Markus, ich weiss zwar, dass ich bei meiner Programmierung, wenn ich nicht alles an MS-irgendwas koppelle oft alleine auf weiter Flur stehe, ich würde es dennoch bezüglich der Mail mit einem externen Aufruf versuchen. Hat mehrere Vorteile. Zum einen kannst Du die beiden Teile auch getrennt voneinander analysieren und debuggen, zum anderen entfällt die enge Kopplung mit Outlook aus deinem Script. In anderen Thraeds wird immer wieder über die Versionskompatibilitäten gesprochen. Mit so einer Kopplung kaufst du dir eine neue ein, die mit MS Outlook. Jetzt kann es dir sogar passieren, dass du bei einem Outlook-Update dein Script anpassen musst, nicht nur bei den EPLAN-Updates. Auch ist das Mailprotokoll SMTP ein absolut alter Hut, der schon sehr lange Standard ist (RFC 821). Probiere das senden von Mails mit einem Konsolenprogramm doch mal aus. Wenn das klappt, würde ich in meinem Script das Kommando "echo Parameter1 Parameter2 Parameter3 >protokoll.txt" aufrufen, dann erhälst Du eine Textdatei mit den Parametern und kannst wunderbar nachvollziehen, ob diese Daten ebenfalls korrekt kommen. Programmaufruf angepasst und fertig. Gruß, Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 26. Aug. 2010 06:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Alexander, du hast ja Recht, aber ich müsste dann das Konsolenprogramm bmail auf allen Rechnern installieren, die das Script verwenden wollen, und das sind bei uns im Moment weltweit etwa 30 Rechner. Abgesehen davon sieht sowas unsere IT nicht gern (das alte Lied). Ich warte nochmal ab, vielleicht stellt Jonny da bei Suplanus etwas rein, das mir hier weiterhilft. Mal sehen, vielleicht zahlt mein Chef auch eine API Schulung und die zugehörige Lizenz, dann muss ich bei sowas nicht immer im Dunkeln stochern und kann schon vorher beurteilen, was geht und was nicht geht. Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
FML Mitglied
Beiträge: 491 Registriert: 11.03.2002 Aktuell: EPLAN Electric P8 Professional V 2.6 HF2 V 2.7 V 2.7 Education<P>Eplan Fluid Add On Eplan ProPanel Add On Electric P8 API EEC Systeme: MS WINDOWS 10 MS WINDOWS 7 MS WINDOWS 2016 Server MS WINDOWS SQL Server
|
erstellt am: 26. Aug. 2010 18:30 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
Hallo Markus, Alexander hat schon recht, ich würde mich auch nicht vom Office Paket evtl. abhängig machen. Elektroklaus hat Dir ja schon den .NET Namespace genannt mit dem man Dein Problem lösen kann. Im übrigen gibt es unter http://www.systemwebmail.com eine sehr große FAQ zum Mailversand unter NET. Dann kannst Du mal googeln. Es gibt sicher schon Beispiele für obige Namespace-Anwendungen in VB und C#. z.B.: http://www.tutorials.de/net-archiv/191438-smtp-mail-versand.html Gruß Fritz ------------------ Um zu sehen, musst Du die Augen offen halten. Um zu erkennen, musst Du sie schliessen und denken. [Diese Nachricht wurde von FML am 26. Aug. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 27. Aug. 2010 06:27 <-- editieren / zitieren --> Unities abgeben:
Hallo, die Abhängigkeit von Outlook passt mir auch nicht wirklich. Aber mit System.Web.Mail Namespace muss ich explizit unseren Smtp Server angeben. Wie der genau heißt weiß ich nicht, bzw. habs noch nicht rausgefunden. Vielleicht weiß ja jemand von Euch, wie ich den Servernamen rausbekomme. Mit dem anderen Namespace Microsoft.Office.Interop.Outlook könnte ich ohne den Servernamen zu kennen direkt aus Outlook senden. Das hat jeder bei uns in der Firma, aber da bekomme ich halt die genannte Fehlermeldung. Na ja, erst mal vielen Dank für Eure Mühe, vielleicht kommen wir ja irgendwie weiter. Ich bleib am Ball und melde mich wieder, wenn es funktioniert. Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ElektroKlaus Mitglied
Beiträge: 70 Registriert: 25.11.2009 EPLAN Electric P8 2.4.4
|
erstellt am: 27. Aug. 2010 06:53 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
|
F.S. Moderator
Beiträge: 1815 Registriert: 23.04.2003 EPLAN Electric P8 2023 Prof.
|
erstellt am: 27. Aug. 2010 07:29 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
|
ÄhPlaner Mitglied Elektrotechniker
Beiträge: 421 Registriert: 26.06.2008 ePlan P8 V2.0.9 SP1 Windows XP
|
erstellt am: 27. Aug. 2010 07:59 <-- editieren / zitieren --> Unities abgeben:
|
FML Mitglied
Beiträge: 491 Registriert: 11.03.2002 Aktuell: EPLAN Electric P8 Professional V 2.6 HF2 V 2.7 V 2.7 Education<P>Eplan Fluid Add On Eplan ProPanel Add On Electric P8 API EEC Systeme: MS WINDOWS 10 MS WINDOWS 7 MS WINDOWS 2016 Server MS WINDOWS SQL Server
|
erstellt am: 28. Aug. 2010 19:13 <-- editieren / zitieren --> Unities abgeben: Nur für ÄhPlaner
Hallo FrankS, bist Du sicher, dass der Aufruf über System.Diagnostics.Process.Start auch immer funktioniert? Ich meine mal in einem NET Artikel gelesen zu haben, dass dies nicht mit jedem Mailclient funktioniert. MS-Outlook unterstützt wohl alle von Dir angegebenen Parameter, andere Email-Clients wohl nicht immer. Bei Markus jedenfalls klappt es ja und Ihm ist geholfen. Gruß Fritz ------------------ Um zu sehen, musst Du die Augen offen halten. Um zu erkennen, musst Du sie schliessen und denken. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |