mopsy
Goto Top

Access Runtime und Mailversand per Blat

Der Versand von Mails direkt aus Access 2007 Runtime heraus klappt unter Vista und Windows 7 nicht wie es soll, deshalb möchte ich Blat verwenden.

Hi,

nachdem alle meine Versuche direkt aus Access heraus E-Mails zu versenden nicht klappen, möchte ich die Mails einfach als einzelne Dateien exportieren.
Für jedes Mail das verschickt werden soll exportiere ich eine Datei ##.txt die momentan so aussieht:
RECIPIENT: email@domain.tld
SUBJECT: Bestätigung
MAILBODY: Der Text der Mail
kann sich über mehrere
Zeilen erstrecken, die Anzahl der Zeilen
ist nicht bekannt

Diese Datei möchte ich jetzt in Variablen einlesen, mit Blat versenden.
for /f "tokens=1,2,* delims=: " %%i in ('findstr /C:"SUBJECT" paras.txt^|findstr /n .') do @echo SET "%%j%%i=%%k"  
for /f "tokens=1,2,* delims=: " %%i in ('findstr /C:"RECIPIENT" paras.txt^|findstr /n .') do @echo SET "%%j%%i=%%k"  

Jetzt habe ich schonmal den Empfänger und den Betreff, wie kann ich aber jetzt den Mailbody bis zum Ende der Datei einlesen?
Das Mail soll dann automatisch verschickt werden
echo %MAILBODY% | blat.exe - -server mailserver -to%RECIPIENT% -f sender@domain.tld -s %SUBJECT%

Die Batchdatei starte ich beim Systemstart mit runassvc als Dienst und lasse diese alle paar Sekunden ausführen, wenn eine ##.txt Datei vorhanden ist, wird diese abgearbeitet und nach erfolgreichem Versand gelöscht.

Stephan

Content-ID: 152248

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

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

NetWolf
NetWolf 03.10.2010 um 11:47:51 Uhr
Goto Top
Hallo,

nachdem alle meine Versuche direkt aus Access heraus E-Mails zu versenden nicht klappen,
ich habe keinen Beitrag von dir im Access-Brett gesehen, oder habe ich da was übersehen?
Aktuell gibt es dort eine gelöste Anfrage zu 2010 & Mail, vielleicht hilft es dir?

Dein Umweg über eine Batch-Datei ist in meinen Augen -> EDV zu Fuß face-sad

Grüße aus Rostock
Wolfgang
(Netwolf)
76109
76109 03.10.2010 um 13:03:06 Uhr
Goto Top
Hallo Stephan!

Versuchs in Access mal damit (Variablen entsprechend anpassen):
Const cdoConfig = "http://schemas.microsoft.com/cdo/configuration/"  

Sub SendMail()
    Dim objEmail As Object

    Set objEmail = CreateObject("CDO.Message")  
    
    With objEmail
       .To = "An@online.de"  
       .From = "Von@online.de"  
       .Subject = "Test"  
       .TextBody = "Hallo!"  
      '.AddAttachment "Dateipfad für Anhang"  
        
        With .Configuration.Fields
            .Item(cdoConfig & "postusing") = 1  
            .Item(cdoConfig & "sendusing") = 2  
            'Smtp-Server Name oder IP  
            .Item(cdoConfig & "smtpserver") = "smtp.1und1.de"  
            'Smtp-Server Port (Normal 25)  
            .Item(cdoConfig & "smtpserverport") = 25  
            'Format-Type Base64 Encoded  
            .Item(cdoConfig & "smtpauthenticate") = 1  
            'Smtp-Server Benutzer ID  
            .Item(cdoConfig & "sendusername") = "Von@online.de"  
            'Smtp-Server Passwort  
            .Item(cdoConfig & "sendpassword") = "Passwort"  
            'Smtp-Server SSL (True/False)  
            .Item(cdoConfig & "smtpusessl") = False  
            'Smtp-Server Timeout (Sekunden)  
            .Item(cdoConfig & "smtpconnectiontimeout") = 60  
            .Update
        End With
       .Send
    End With
End Sub

Siehe auch: http://www.paulsadowski.com/wsh/cdo.htm

Gruß Dieter
mopsy
mopsy 03.10.2010 um 16:51:35 Uhr
Goto Top
Aktuell gibt es dort eine gelöste Anfrage zu 2010 & Mail, vielleicht hilft es dir?
Ja, vielen Dank das hat uns weitergeholfen, ist mir auch lieber als mit der Batchvariante.
mopsy
mopsy 03.10.2010 um 16:54:06 Uhr
Goto Top
Const cdoConfig = "http://schemas.microsoft.com/cdo/configuration/"
...und das war der entscheidende Hinweis face-smile
Wir waren hier schon am verzweifeln mit dem Mailversand aus Access heraus.

Danke und einen schönen Sonntag noch, Gruß Stephan
76109
76109 03.10.2010 um 17:35:54 Uhr
Goto Top
Hallo Stephan!

Yepp, gern geschehenface-wink

Ebenfalls noch einen schönen Sonntag!

Gruß Dieter