PB.Ex Mail (Windows)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
dige
Beiträge: 1084
Registriert: 08.09.2004 08:53

Re: PB.Ex Mail (Windows)

Beitrag 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..
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
dige
Beiträge: 1084
Registriert: 08.09.2004 08:53

Re: PB.Ex Mail (Windows)

Beitrag 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..
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
RSBasic
Admin
Beiträge: 7887
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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.
Bild
RalfP
Beiträge: 21
Registriert: 17.03.2014 22:32

Re: PB.Ex Mail (Windows)

Beitrag 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.
Benutzeravatar
HeX0R
Beiträge: 2804
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
2x16Gig Ram
NVIDIA GEFORCE GTX 1060/6Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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
Benutzeravatar
tft
Beiträge: 561
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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
TFT

W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
HeX0R
Beiträge: 2804
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
2x16Gig Ram
NVIDIA GEFORCE GTX 1060/6Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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.
RSBasic
Admin
Beiträge: 7887
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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
Bild
Benutzeravatar
tft
Beiträge: 561
Registriert: 08.09.2004 20:18
Computerausstattung: GTX Titan , i9 9900K , 32 GB Ram , 500 GB SSD , 3 ASUS FullHD Monitore and more
Wohnort: Dachsen
Kontaktdaten:

Re: PB.Ex Mail (Windows)

Beitrag 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
TFT

W10 , i9 9900K ,32 GB Ram , GTX Titan , 3 Monitore FHD
ARDUINO Freak :-)
Benutzeravatar
dige
Beiträge: 1084
Registriert: 08.09.2004 08:53

Re: PB.Ex Mail (Windows)

Beitrag von dige »

@RsBasic: wenn ich das zwischen den Zeilen richtig gelesen habe, wird dieses Projekt nicht mehr weiterentwickelt?
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Antworten