docusnap-dude
Goto Top

Lotus Notes für automatisches Senden einer Datei animieren

Heute mal Lotus Notes....

Hi,

wer kann mir helfen einen Agenten oder ähnliches zu bauen, welcher folgendes macht:

1) existierende Dateien (werden täglich automatisch erstellt von einem Tool) aus Pfad C:\Admin\Reports\ nehmen um...
2) diese täglich beim Start von Lotus Notes (aber bitte nur einmal an definierte Adresse mit definiertem Subject zu senden...
3) die gesendete Mail am besten so, das der User sie nicht stoppen kann..
4) die Dateien unter C:\Admin\Reports\ können gelöscht werden

Und dann am anderen Ende....

4) entweder auf dem Domino-Server oder auf einem NotesClient des Zielempfängers aus 2) mit folgendem Ablauf zu verarbeiten...
a) Dateianhang nehmen und auf einem definiertem UNC-Pfad zu speichern
b) Mail-Ablaufdatum auf 7 Tage setzen (für automatischen Cleanup)
c) das Mail kann nach dem Vorgang gleich in den Papierkorb wandern (muss also nicht im Posteingang rumliegen).


Hat da jemand eine gute Idee???

Ich hatte schon versucht mit "sendmail" oder so zu arbeiten aber ist eben ohne installiertem Outlook nicht so machbar. Wie gesagt Lotus Notes eben.

Content-Key: 194844

Url: https://administrator.de/contentid/194844

Printed on: April 23, 2024 at 12:04 o'clock

Member: n4426
n4426 Nov 24, 2012 at 19:47:14 (UTC)
Goto Top
Hi,

schau dir mal Blat an, mit diesem Tool kannst du Datein Clientunabhängig verschicken. Die Mail wird einfach über SMTP an den Domino-Server übergeben und der verschickt diese dann. Muss natürlich auf dem Domino-Server freigegeben sein.

mfg
n4426
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012 at 09:11:57 (UTC)
Goto Top
Zitat von @n4426:
schau dir mal Blat an, mit diesem Tool kannst du Datein Clientunabhängig verschicken. D.


Danke für den Tipp. Nur wollte ich auf dem "SendePC" nicht erst extra Tools installieren. Hatte vor per loginscript oder so zu arbeiten (also so einfach wie irgendwie möglich).

Ich hatte jetzt noch das hier gefunden:
LINK

Nur ist mir dort einiges unklar wie z.b. der Part
Set Session = CreateObject("Lotus.NotesSession")  
Member: n4426
n4426 Nov 25, 2012 at 10:12:34 (UTC)
Goto Top
Hi,

Blat musst du nich zwahgsläufig auf jedem Rechner installieren. Ich verwende es auch in einem Login-Script, da liegt Blat enfach auf der NETLOGON-Share des DC's und wird vom Login-Script angesprochen (so wie z.B. auf ifmember.exe).

Welche Sprache ist den dein Login-Script?

mfg
n4426
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012 at 10:23:32 (UTC)
Goto Top
Hi,

leider habe ich für die Geräte, wo das laufen soll (Aussendienst-Notebooks), ken Net-Share. Von daher halt die Überlegung.

Meine Scripte sind alle VBS-basierend.

Viele Grüße Frank
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012 at 11:16:01 (UTC)
Goto Top
Also jetzt habe ich mir das "BLAT" mal gezogen. Aber bisher blick ich da net so recht durch wie & was. Gibt's da ein gutes "HowTo" irgendwo??
Member: n4426
n4426 Nov 25, 2012 at 13:04:02 (UTC)
Goto Top
Hi,

bei einem VBS würde ichs hierüber machen.

Set objMessage = CreateObject("CDO.Message")  
objMessage.Subject = "Betreff"  
objMessage.From = "Absender@firma.de  

objMessage.To = "Empfänger@firma.de"  
'objMessage.CC = "Empfänger@firma.de"  
'objMessage.BCC = "Empfänger@firma.de"  
objMessage.TextBody = "Mail-Text"  

            

            
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2   
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "Mailserver.firma.de"  
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25   
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False  
objMessage.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60  
objMessage.Configuration.Fields.Update

objMessage.Send

Schau mal hier, da lassen sich auch noch Datein anhähngen und mehr einstellungen mitgeben.

mfg
n4426
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012 updated at 14:28:23 (UTC)
Goto Top
Jeah, das sieht schon mal ganz so aus wie etwas verwendbares. Muss jetzt mal testen ob von extern auch der Port25 für SMTP offen ist. mal prüfen. Supi!

Wenn du jetzt noch eine Idee hast, wie ich da eine Datei anhänge bist du mein Held der Woche face-big-smile ch bin nicht so ganz fit in Sachen Programmierung; bin mehr der Hardware-Heini face-big-smile


Update: Port 25 geht nicht von extern. Mist, sah so gut aus. Brauch doch etwas internes, was irgendwie den lotusNotes nutzt (auch weil der den eingerichteten LotusNotes-User nehmen soll)
Member: n4426
n4426 Nov 25, 2012 at 14:51:09 (UTC)
Goto Top
Update: Port 25 geht nicht von extern. Mist, sah so gut aus. Brauch doch etwas internes, was irgendwie den lotusNotes nutzt (auch weil der den eingerichteten LotusNotes-User nehmen soll)

währe ja auch eine Spam-Schleuder wenn der Prot von außen offen währe. Wie baut den Notes den Kontakt zum Domino-Server auf? (Ich tipp mal auf VPN)

Datein anhängen müsste so gehen.

objMessage.AddAttachment("C:\TEMP\test.txt")  

mfg
n4426
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012 at 15:11:25 (UTC)
Goto Top
eben face-big-smile

Der Notes macht das extern mit Zertifikationen. Ich hab da wie oben beschrieben das hier entdeckt, nur hab ich keine Idee wie man das verwenden kann:

' this code is published from IBM --> http://www-01.ibm.com/support/docview.wss?uid=swg21178583  

Dim Maildb As Object
Dim MailDoc As Object
Dim Body As Object
Dim Session As Object
'Start a session to notes  
Set Session = CreateObject("Lotus.NotesSession")  
'This line prompts for password of current ID noted in Notes.INI  
Call Session.Initialize
'or use below to supply password of the current ID  
'Call Session.Initialize("<password>")  
'Open the mail database in notes  
Set Maildb = Session.GETDATABASE("", "c:\notes\data\mail\mymail.nsf")  
If Not Maildb.IsOpen = True Then
Call Maildb.Open
End If
'Create the mail document  
Set MailDoc = Maildb.CREATEDOCUMENT
Call MailDoc.ReplaceItemValue("Form", "Memo")  
'Set the recipient  
Call MailDoc.ReplaceItemValue("SendTo", "John Doe")  
'Set subject  
Call MailDoc.ReplaceItemValue("Subject", "Subject Text")  
'Create and set the Body content  
Set Body = MailDoc.CREATERICHTEXTITEM("Body")  
Call Body.APPENDTEXT("Body text here")  
'Example to create an attachment (optional)  
Call Body.ADDNEWLINE(2)
Call Body.EMBEDOBJECT(1454, "", "C:\filename", "Attachment")  
'Example to save the message (optional)  
MailDoc.SAVEMESSAGEONSEND = True
'Send the document  
'Gets the mail to appear in the Sent items folder  
Call MailDoc.ReplaceItemValue("PostedDate", Now())  
Call MailDoc.SEND(False)
'Clean Up  
Set Maildb = Nothing
Set MailDoc = Nothing
Set Body = Nothing
Set Session = Nothing

Wenn ich das anpasse und starte erhalte ich einen Error "Line 1 Char 12 Expected and end of Statement ...Compilation error"
Member: n4426
n4426 Nov 25, 2012 updated at 15:27:48 (UTC)
Goto Top
Das sieht aus wie VB oder VBA aber nicht wie VBS. Du kannst mal versuchen in Zeile 3 bis 6 das "As Object" wegzulassen.

Edit:
In der Quelle steht ja, dass es ein VB6 und kein VBS-Code ist.
Member: DocuSnap-Dude
DocuSnap-Dude Nov 25, 2012, updated at Dec 07, 2012 at 19:10:18 (UTC)
Goto Top
Ich sag ja: ich bin Hardware-belastet face-smile

Schau ich morgen mal an im Büro. Mal gucken. Danke erst einmal für Deine Geduld!


Update: so, gelöst. ging in etwa mit dem Script oben. Per VBA in eine exe verpackt ging das Super. Den rest macht ein Agent: speichere Dateianhänge und lösche das Mail.