Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

A03: PDF per Mail verschicken

Begonnen von MaxP, Mai 23, 2018, 11:16:49

⏪ vorheriges - nächstes ⏩

MaxP

Hallo zusammen,

ich arbeite mit A03 und möchte über meine DB PDF-Dateien als Anhang per Mail verschicken. Die PDF-Dateien werden von Berichten durch den Druckbefehl mit PDF24 erzeugt und händisch in einem Projektordner abgelegt.

Nach längerer Suche im Netz bin ich auf das angefügte Beispiel gestoßen.
Dieses heißt "Email versenden" (Vers. A02) von Klaus Oberdalhoff. Es heißt: "Sie "zapft" die WinSock.DLL direkt an und benötigt daher keine weitere DLL und nix."

Hierbei soll die Mail direkt in Access mittels Formular verschickt werden. Voraussetzung hierfür sind die richtigen Einstellungen zum Transport der Mail. Diese habe ich auch entsprechend eingestellt (s. Anlage), es gibt nach einer längeren Rechenzeit eine Ausgangsbestätigung in Access, jedoch kommt die Mail nicht am Empfänger an.

Kann es sein, dass die heutigen Pop3-Server durch neuere Authentifizierungen da nicht mitspielen? Reicht es dafür aus, die Pop3- und SMTP-Ports auf 995 bzw. 465 einzustellen? Ich habe mein Konto bei Strato.

Andernfalls wäre ich auch mit einfachen Lösungen zufrieden, die mit dem Standard-Emailprogramm (TheBat!) zusammen arbeiten.

Vielen Dank vorab.

Gruß
Max
Win 10 pro 64 bit, Access 2003

MaxP

Habe nun inzwischen eine einfachere Lösung im Netz gefunden s. http://www.codekabinett.com/rdumps.php?Lang=1&targetDoc=email-versenden-access-vba-cdo

Die 3. Funktion mit der Verschlüsselung funktioniert auch sehr gut. Nun möchte ich natürlich die festen Werte durch Variabeln ersetzen. Leider stolpere ich mal wieder über meine schlechten VBA-Kenntnisse.

   z.B.: .Subject = "First email with CDO"

Nun habe ich erst die Variabel definiert:
   Dim emailBetreff As String

daraus wird:
   .Subject = emailBetreff

Wie kann nun über das Formular frmTest und das Textfeld emailBetreff der Wert an die Funktion übergeben werden?

Ist vermutlich total easy. Danke vorab.

Gruß
Max
Win 10 pro 64 bit, Access 2003

Beaker s.a.

Hallo,
Übergebe "emailBetreff" als Parameter an die Function
DeineFunction(ByVal emailBetreff As String, ...)
(das Dim ist dann überflüssig)
Aufruf vom Formular
Call DeineFunction(emailBetreff:=Me.DeinTextfeld, ...)
(... = weitere Parameter falls benötigt/vorhanden)

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MaxP

Hallo Ekkehard,

nach einem ersten Versuch hat es funktioniert! Super!

Ich denke, die anderen Variablen lassen sich genauso deklarieren.
Danke dir!

Gruß
Max
Win 10 pro 64 bit, Access 2003

MaxP

Hallo,

nun habe ich die Funktion ausgebaut und noch die eMail-Felder CC und BCC hinzugefügt. Solange alle Felder ausgefüllt sind, funktioniert es auch prima. Da dieses aber in der Realität eher unwahrscheinlich ist und einige leer bleiben, wird eine Fehlermeldung heraus gegeben:

"Unzulässige Verwendung von Null"

Der fehlerhafte (markierte) Code lautet bei mir:

Private Sub Befehl0_Click()
Call SendSimpleCDOMailWithAuthenticationAndEncryption(emailTo_List:=Me.emailTo_List, emailCC_List:=Me.emailCC_List, emailBCC_List:=Me.emailBCC_List, emailBetreff:=Me.emailBetreff, emailText:=Me.emailText, emailAnlage:=Me.emailAnlage)
End Sub


Warum führen leere Fehler (Null) zum Fehler? Was muss ich anders machen, um das zu vermeiden?

Danke vorab.

Gruß
Max
Win 10 pro 64 bit, Access 2003

Beaker s.a.


Call DeineFunction(emailBetreff:=Nz(Me.DeinTextfeld, ""), ...)
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MaxP

Vielen Dank Ekkehard,

so funktioniert es, wie es soll!

Gruß
Max
Win 10 pro 64 bit, Access 2003