Seite 10 von 12

Re: PB.Ex Mail (Windows)

Verfasst: 11.07.2019 14:15
von dige
Mmmh, SendMailEx() crasht wenn ich für CC oder BCC eine strukturierte Variable verwende. Mit "" statt Variable gehts :|

Ich versuch das mal zu isolieren..

Re: PB.Ex Mail (Windows)

Verfasst: 11.07.2019 14:25
von dige

Code: Alles auswählen

Structure _NLSettingsCGI
  MAILGATE.s
  PORT.i
  SSL.i
  USER.s
  PWD.s
  SENDERNAME.s
  SENDEREMAIL.s
  REPORTEMAIL.s
  CGIPATH.s
  DOCPATH.s
  OpenMailExID.i
EndStructure
Structure SendEmail_Parameter
  Sender_Name.s                ; Name of Sender
  Sender_Email.s               ; Address of Sender
  RecipientTO.s                ; List of Recipient Addresses (';' separated)
  RecipientCC.s                ; List of Carbon-Copy-Recipient Adresses (';' separated)
  RecipientBCC.s               ; List of Blind-Carbon-Copy-Recipient Adresses (';' separated)
  ReplyTO.s                    ; Antwort abweichend vom Sender
  Undisclosed.b                ; if TRUE all recipients are hidden in the email
  UserName.s                   ; Username for Authentication
  Password.s                   ; Password for Authentication
  SMTPServer.s                 ; Address of SMTP Server
  port.w                       ; Port of SMTP Server
  Subject.s                    ; Subject of Email (nur ASCII zulässig)
  message.s                    ; Text-Body
  MessageHtml.s                ; HTML-Body
  ContentType.s                ; text/plain; charset=utf-8
  Hostname.s                   ; Hostname used for HELO/EHLO introduction
  ProgressAttachedFile.l       ; Address of Callback procedure for attached files
  Protocol_Enable.b            ; if Protocol should be written or not
  Protocol.s                   ; Protocol
  TimeOut.l                    ; Timeout Value in Seconds
  List Attachments.s()         ; List of Attachments
EndStructure


Procedure SendEMail (*mpara.SendEmail_Parameter, *MailSet._NLSettingsCGI)
  Protected ErrorOutput$, Attachment.s, Sender.s
  
  *MailSet\OpenMailExID = 1
  *MailSet\MAILGATE = "192.168.150.219"
  *MailSet\PORT = 25
  *MailSet\USER = ""
  *MailSet\PWD = ""
  *MailSet\SSL = 0
  
  *mpara\Subject = "Test"
  *mpara\MessageHtml = "<h1>It works</h1>"
  Sender = "x@y.z"
  *mpara\RecipientTO = "a@b.c"
  
  Debug "OpenMailEx().."
  OpenMailEx(*MailSet\OpenMailExID, #PBEx_Mail_Protocol_SMTP, *MailSet\MAILGATE, *MailSet\PORT, *MailSet\USER, *MailSet\PWD, *MailSet\SSL, @ErrorOutput$)
  Debug "Error: " + ErrorOutput$
  
  Debug "SendMailEx().."
  SendMailEx(*MailSet\OpenMailExID, *mpara\Subject, *mpara\MessageHtml, #PBEx_Mail_Priority_Normal, Sender, *mpara\RecipientTO,  *mpara\RecipientCC,  *mpara\RecipientBCC, Attachment, @ErrorOutput$)
  Debug "Error: " + ErrorOutput$
  
EndProcedure
Define time.i = ElapsedMilliseconds()

Define mpara.SendEmail_Parameter, MailSet._NLSettingsCGI

SendEMail(mpara, MailSet)
PB 5.70 x86, Windows 10

SendMailEx() crasht..

Re: PB.Ex Mail (Windows)

Verfasst: 11.07.2019 15:54
von RSBasic
PB.Ex Mail 1.1.3.0 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: SendMailEx(): Aliasse bei Anhängen werden unterstützt. Beispiel: OriginalDatei.zip<AliasDatei.zip>
  • Bugfix: Alle übergebenen Strings werden jetzt auf NULL überprüft.
@dige
Du versuchst *mpara\RecipientCC ohne Inhalt zu übergeben.
Wenn du einen String in PB ohne "" definierst, dann ist der String immer NULL. Du musst mindestens mit "" definieren, dann gibt es auch kein Crash.
Aber ich habe jetzt in allen Methoden bei jeder String-Parameterübergabe eine Abfrage (string.IsNullOrEmpty()) eingebaut, bevor der jeweilige übergebene String verwendet wird.

Re: PB.Ex Mail (Windows)

Verfasst: 25.08.2019 18:05
von RalfP
@ RSBasic:
Vielen Dank dafür, dass Du uns deine nützliche DLL zur Verfügung stellst.

Ich habe einige IMAP-Funktionen mit der x64-DLL getestet. Dabei ist mir folgendes aufgefallen:

1.) Beim Löschen der Mails mit DeleteMailEx() bekomme ich den Rückgabewert 1, aber die Mails werden nicht gelöscht. Das habe ich bei verschiedenen Providern getestet.

2.) IsMailEx()
Fall 1: Die Verbindung wurde nicht mit OpenMailEx() aufgebaut, stattdessen wurde einfach die Funktion IsMailEx() mit einer fiktiven ID aufgerufen: Es stürzt dann das ganze Programm ab. IsMailEx() kann also nur 1 zurückgeben. Schade, ich hatte gedacht, die Funktion ist kugelsicher.
Fall 2: Die Verbindung wurde mit OpenMailEx() aufgebaut, dann jedoch der Netzwerkstecker am PC gezogen:
IsMailEx() gab weiterhin 1 zurück.

Re: PB.Ex Mail (Windows)

Verfasst: 24.11.2020 13:24
von HeX0R
Falls Dich die Muse mal wieder küsst Ray:

MailEntryHeaderEx() scheint ein Zeichen zuwenig zurückzugeben:

Code: Alles auswählen

eturn-Path: <bla@blubb.de>
Received: from example.de ([217.69.
MailEntryDateEx() kommt mit solchen Konstrukten nicht klar:

Code: Alles auswählen

Date: Tue Nov 24 10:05:13 GMT+00:00 2020

Re: PB.Ex Mail (Windows)

Verfasst: 23.02.2021 14:21
von tft
Hallo ..

ich habe versucht, mit meinem Outlook hotmail.com Email deine DLL zu verwenden.
Beim ersten Start habe ich eine Virus Warnung vom Linker erhalten.
Aber ich habe keine Möglichkeit die EMail zu laden. In den Einstellungen zum Client steht was von Verschlüsselung (TLS).

Gruss TFT

Re: PB.Ex Mail (Windows)

Verfasst: 18.03.2021 00:07
von HeX0R
Wieder ein tolles Beispiel von "nimm nix, wo Du vom Autor abhängig bist"!
Ich hab mein Projekt jetzt zu Grabe tragen müssen, ich kann nicht ewig warten, Pech gehabt, nen paar tausend Zeilen Code für die Tonne...
Egal, Mund abgeputzt weitergemacht, aus Fehlern lernt man ja im Idealfall ;)
Du brauchst hier auch nix mehr machen Ray, ich würde es eh nicht nutzen.

Re: PB.Ex Mail (Windows)

Verfasst: 18.03.2021 11:33
von RSBasic
Tut mir wirklich sehr leid für die lange Wartezeit und für das Projekt, welches du wegen mir aufgeben musstest. Ich kann dich voll und ganz verstehen, aber es hatte Gründe. Siehe PN

Re: PB.Ex Mail (Windows)

Verfasst: 20.03.2021 06:07
von tft
Hallo,

wenn man viel Zeit investiert, ist das natürlich schade. Aber es ist nun-mal ... von Hobby zu Hobby. Da gibt es immer-mal solche Rückschläge. Ich Programmiere jetzt seid gut 40 Jahren .
Wenn ich für jeden Rückschlag den ich nur indirekt zu verschulden habe 10 Euro bekomme ........ noch dazu ist wegen der ganzen Sicherheitsdinger manches unnötig kompliziert geworden.

Aber es findet sich sicher jemand der etwas in dieser Richtung macht ...... also ... bitte melden.

Gruss TFT

Re: PB.Ex Mail (Windows)

Verfasst: 22.03.2021 10:25
von dige
@RsBasic: wenn ich das zwischen den Zeilen richtig gelesen habe, wird dieses Projekt nicht mehr weiterentwickelt?