fbpx
Welcome, Guest
Username: Password: Remember me
Hier wird Deutsch gesprochen
  • Page:
  • 1
  • 2

TOPIC:

Mailversand in VO 2.8 mit cEmail 03 Jun 2020 14:58 #14818

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Leute,
    ich habe bei einem Kunden ein Prog welches PDF Rechnungen per VO cEMail verschickt. Alle paar Tage werden die Mails vom SMTP des Providers Ionos (1&1) mit Fehler "554 Transaction failed, Reject due to policy restrictions" abgewiesen. An anderen Tagen funktionierts jedoch wieder. Vom Support habe ich folgende Auskunft erhalten:
    Ihre E-Mail wurde von unserem SMTP-Server abgelehnt, weil diese nicht die definierten Standards aus RFC 5321 und RFC5322 einhält.
    Diese Änderung der Anforderungen wurde von unseren Administratoren am 01.04.2020 eingeführt.
    Die Ursache ist vermutlich, dass die E-Mail Kopfzeilen unvollständig sind oder mehrere Einträge des gleichen Feldtyps enthalten.
    Die Kopfzeilen Ihrer E-Mail müssen die Felder "Date:", "From:", "Sender:" und "To:" enthalten.
    Darüber hinaus dürfen die Kopfzeilen nicht mehr als genau einen, der folgenden Feldtypen beinhalten: "Date:", "From:", "Sender:", "To:", "CC:", "BCC:", "Subject:"
    Hinweis: Die Feldtypen To:, CC: und BCC: können selbstverständlich mehrere Empfänger enthalten.
    "Date" wird autom. gesetzt, "From" ist vorhanden, "To" natürlich auch, "Sender" weiß ich nicht wo man's setzen könnte.
    "Date", "From", "To", "BCC" und Subject sind nur 1x vorhanden, "CC" ist leer.

    Hat jemand eine Idee wo das Problem liegen könnte und vor allem: warum gehts manchmal und dann wieder nicht?

    LG Franz

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 15:09 #14819

  • wriedmann's Avatar

  • wriedmann


  • Posts: 2300
  • Hallo Franz,
    warum das manchmal geht und manchmal nicht, kann Dir von uns hier keine sagen.
    Zusätzliche Header-Einträge kannst Du über die Cargo-Eigenschaft der cEmail Klasse setzen.
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 16:00 #14821

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Wolfgang,
    wie würde die Syntax der Cargo-Eigenschaft aussehen?
    Ist dir der Wert "Sender" eigentlich bekannt? Ich habe den Quelltext anderer Mails durchgesehen, da finde ich keinen Wert dieses Namens.
    Franz

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 16:10 #14822

  • wriedmann's Avatar

  • wriedmann


  • Posts: 2300
  • Hallo Franz,
    die cEmail-Klasse schreibt den Inhalt der Cargo-Variablen in den Header.
    Jeder Eintrag besteht aus Keyword, Doppelpunkt, einem oder mehreren Leerzeichen und dem entsprechenden Wert.
    Wenn Du mehrere Einträge ergänzen willst, musst Du sie durch Leerzeichen trennen.
    Und wie üblich, hilft Dir Google und Wikipedia weiter:
    de.wikipedia.org/wiki/Header_(E-Mail)
    Wolfgang
    Wolfgang Riedmann
    Meran, South Tyrol, Italy

    www.riedmann.it - docs.xsharp.it

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 16:52 #14827

  • ic2's Avatar

  • ic2


  • Posts: 729
  • Hallo Franz,

    Kanst du einen vollständigen Header einer abgelehnten E-Mail hier veröffentlichen? Dann kann ich nachsehen ob es etwas enthält, das wir gelöst haben, als wir die VO-E-Mail-Routinen verwendet haben (wir verwenden jetzt Chilkat).

    Dick

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 17:00 #14828

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Wolfgang: Das Hinzufügen eines "Sender" in oEMail:Cargo oder oEMail:MailHeader hat nichts gebracht.

    Dick: ich habe die Email über einen anderen Provider geschickt, wo es funktioniert und ich den Quellcode auslesen kann. Hier der Header der Ionos nicht paßt:
    From - Wed Jun  3 16:55:23 2020
    X-Account-Key: account8
    X-UIDL: 000085224b5885a5
    X-Mozilla-Status: 0001
    X-Mozilla-Status2: 00000000
    X-Mozilla-Keys:                                                                                 
    Return-Path: <>
    X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
    	alfa3032.alfahosting-server.de
    X-Spam-Level: 
    X-Spam-Status: No, score=-103.4 required=5.0 tests=AWL,BAYES_00,INVALID_DATE,
    	MISSING_MID,RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,
    	T_OBFU_PDF_ATTACH,USER_IN_WHITELIST autolearn=unavailable
    	autolearn_force=no version=3.4.2
    X-Spam-DCC: : 
    X-Original-To: 
    Delivered-To: 
    Received: from smtpout.aon.at (smtpout.aon.at [195.3.96.77])
    	by alfa3032.alfahosting-server.de (Postfix) with ESMTPS id 339C165A5105
    	for <>; Wed,  3 Jun 2020 16:54:36 +0200 (CEST)
    Received: (qmail 28359 invoked from network); 3 Jun 2020 14:54:35 -0000
    Received: from 100-75-253-219.rfc6598.a1.net (HELO Gigabyte) ([100.75.253.219])
              (envelope-sender <>)
              by smarthub88.res.a1.net (qmail-ldap-1.03) with SMTP; 3 Jun 2020 14:54:32 -0000
    X-A1Mail-Track-Id: 1591196072:28343:smarthub88:100.75.253.219:1
    Date: Wen, 03 Jun 2020 16:54:28 +0200
    From: =?iso-8859-1?Q?Tiefenbacher_GmbH?= <>
    To: <>
    Subject: =?iso-8859-1?Q?_20190001_von_Tiefenbacher_GmbH?=
    Reply-To: <>
    Mime-Version: 1.0
    Content-Type: multipart/mixed;
    	boundary="===Part_000_Visual_Objects_BOUNDARY==="
    PdfMail: SMTP Mail Client - Powered by CoRa X-Mailer: =?iso-8859-1?Q?SMTP_Mailer_V1.6_-_Powered_by_Visual_Objects_2.?=
     =?iso-8859-1?Q?8_build_2838?=
    X-Antivirus: Avast (VPS 200602-4, 02.06.2020), Outbound message
    X-Antivirus-Status: Clean
    X-Alfa-Spam: check-spam
    X-Antivirus: Avast (VPS 200602-4, 02.06.2020), Inbound message
    X-Antivirus-Status: Clean

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 17:15 #14829

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Ich glaube ich habe etwas gefunden!
    Nach Kontrolle der fehlerhaften Mails habe ich gesehen, dass die Fehler immer jeden Mittwoch passieren. Dann habe ich mir die Dateangaben im Mailheader angesehen. Bei einem funktionierenden Mail steht:
    "Wed" für Mittwoch, beim fehlerhaften aus VO steht "Wen" für Mittwoch!
    Könnte das die Ursache sein, und wie kann man das ändern (den Date Parameter setze ich ja gar nicht selber)?
    Franz

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 18:19 #14831

  • Karl-Heinz's Avatar

  • Karl-Heinz


  • Posts: 585
  • Hallo Franz,

    Mit meinem SP3 würde da "Wed" drin stehen. Da das X# VO-SDK auf dem SP4 basiert müsste das hier die Problemstelle sein.

    cRet := SubStr("SunMonTueWenThuFriSat",(3*nTmp)-2,3)

    github.com/X-Sharp/XSharpPublic/blob/mas...t_SDK/FUNCS.prg#L725

    Prüfe mal ob in Deinem SP4 SDK das genauso aussieht.

    Gruß
    Karl-Heinz

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 18:30 #14832

  • ic2's Avatar

  • ic2


  • Posts: 729
  • Hallo Franz,

    Stimmt! Der Fehler ist in FUNCTION GetMailTimeStamp(lForceUK AS LOGIC) AS STRING PASCAL
    Wir haben es gelöst:

    nTmp := DoW(d)
    //cRet := SubStr("SunMonTueWenThuFriSat",(3*nTmp)-2,3)
    cRet := SubStr("SunMonTueWedThuFriSat",(3*nTmp)-2,3)
    // KB-IC2 20120327: The correct spelling is Wednesday, so "Wen" is wrong and causes some e-mail clients to not recognize the date correctly.

    Schicke mir eine Mail, dann sende ich unser Internet-SDK, das wir anstelle des Standard-SDK verwenden. Wir haben noch ein paar Probleme gelöst.

    vankooten at
    ic2 com

    Dick

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 03 Jun 2020 19:55 #14833

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Leute,
    die Internet SDK IC2 habe ich schon, da ich sie schon mal für ein anderes Projekt bekommen habe!:)
    Ich habe sie eingebaut und es funktioniert, damit ist der Mittwoch-Bug wohl gelöst!:)
    Danke an alle!

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 04 Jun 2020 10:42 #14840

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Dick,
    durch Einsatz der Internet SDK IC2 habe ich jetzt ein neues Problem: Der Anhang (z.B. RE20200601.PDF) bekommt immer den Dateinamen Teil1.2 anstelle des originalen Namens. Lt. Doku müßte der Dateiname defaultmäßig der Name des Anhangs sein. Selbst wenn ich mit
    oEmail:AddAttachment(cPdf,,,"TEST.PDF")
    den Namen des Anhangs explizit benenne, heißt er trotzdem Teil1.2. Wenn man den Anhang speichert und umbenennt, kann man das PDF ganz normal öffnen, aber ein direkter Klick auf den Anhang ist den Kunden dadurch verwehrt.
    LG Franz

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 04 Jun 2020 12:49 #14841

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Frage in diesem Zusammenhang:
    Wenn ich den Wen/Wed Fehler in der Internet SDK ausbessere, kann ich dann wieder eine Internet Lib erstellen, die mir die originale Lib überschreibt oder kann ich nur die ausgebesserte Internet SDK ins Prog einbinden?

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 04 Jun 2020 13:19 #14842

  • Karl-Heinz's Avatar

  • Karl-Heinz


  • Posts: 585
  • Hallo Franz,

    Versuche es doch einfach mit einer von cEmail abgeleiteten Klasse. Wie erwähnt habe ich kein SP4 SDK,
    aber anhand des X# SP4 SDK müsste das hier eigentlich funktionieren.

    CLASS Fix_cEmail INHERIT CEmail
    
    METHOD SetMailTime() CLASS Fix_cEmail 
        SELF:dDate  := Today()
        SELF:cTime  := Time()
        SELF:cTimeStamp := Fix_GetMailTimeStamp(TRUE)	// force the date format to be British
        RETURN .T.
    
    FUNCTION Fix_GetMailTimeStamp(lForceUK AS LOGIC)  AS	STRING
    
     füge hier die GetMailTimeStamp() sourcen ein und ändere dann "Wen" zu "Wed".
    

    Gruß
    Karl-Heinz

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 04 Jun 2020 13:46 #14843

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Karl-Heinz,
    genau das habe ich vor einer halben Stunde auch gemacht, denn bis auf den "Mittwoch-Bug" funktionierts mit der alten Internet Lib ja. Und der Fehler ist sicher einfacher zu beheben wie das Attachment-Problem mit dem Filenamen "Teil1.2".
    LG und Dank an alle!

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 27 Jul 2020 16:11 #15333

  • ic2's Avatar

  • ic2


  • Posts: 729
  • Hallo Franz,

    lagraf wrote: Hallo Dick,
    durch Einsatz der Internet SDK IC2 habe ich jetzt ein neues Problem: Der Anhang (z.B. RE20200601.PDF) bekommt immer den Dateinamen Teil1.2 anstelle des originalen Namens. Lt. Doku müßte der Dateiname defaultmäßig der Name des Anhangs sein. Selbst wenn ich mit

    oEmail:AddAttachment(cPdf,,,"TEST.PDF")
    den Namen des Anhangs explizit benenne, heißt er trotzdem Teil1.2. Wenn man den Anhang speichert und umbenennt, kann man das PDF ganz normal öffnen, aber ein direkter Klick auf den Anhang ist den Kunden dadurch verwehrt.
    LG Franz


    Gut, dass der Fehler behoben ist, aber ich kann mich nicht erinnern, dass wir bei Verwendung des Ersatz-SDK dieses Problem aufgetreten war. Möglicherweise haben wir doch eine andere Version. Wenn es beim Senden von E-Mails weitere Probleme gibt, frage dann unsere SDK-Quelle. Selbst wenn das integriertes SDK nicht ersetzt werde (=einbinden ersatz SDK statt VO SDK via Libs/Included) , kann einen Vergleich gemacht werde, um festzustellen, welche Probleme darin gelöst wurden.

    Dick

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 27 Jul 2020 16:21 #15334

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Dick,
    kann ich irgendwo erkennen, welche Version meine Internet SDK IC2 ist? Oder schick mir bitte deine Lib an , dann probiere ich damit aus, ob der Anhang damit immer noch Teil1.2 heißt.
    LG Franz

    Please Log in or Create an account to join the conversation.

    Last edit: by lagraf.

    Mailversand in VO 2.8 mit cEmail 27 Jul 2020 19:36 #15338

  • g.bunzel@domonet.de's Avatar



  • Posts: 38
  • Franz,

    mit Windows kann auch ein OLE-Object für den Mailversand genutzt werden. Damit ist auch SSL und ExchangeServer möglich.
    Nachfolgend etwas Beispielcode - da sind einige Textstellen für verschiedene Optionen ausmarkiert. Habe ich nicht vollständig getestet - funktioniert aber für 'normale' Mail problemlos.
    Weitere Infos dazu findest Du bei google.

    HTH

    Gerhard Bunzel


    FUNCTION CDOSendMail (cFrom AS STRING, cTo AS STRING, cSmtp AS STRING, cUserID AS STRING, cPwd AS STRING, dPort AS DWORD, lSSL AS LOGIC, cSubject AS STRING, cBody AS STRING) AS LOGIC PASCAL

    LOCAL objMessage AS OBJECT
    LOCAL objConfiguration AS OBJECT

    LOCAL cdoSendUsingPickup AS DWORD
    LOCAL cdoSendUsingPort AS DWORD
    LOCAL cdoAnonymous AS DWORD
    LOCAL cdoBasic AS DWORD
    LOCAL cdoNTLM AS DWORD
    //LOCAL cHtml AS STRING

    cdoSendUsingPickup := 1 // Send message USING the LOCAL SMTP service pickup directory
    cdoSendUsingPort := 2 // Send the message USING the network (SMTP over the network)
    cdoAnonymous := 0 // DO not authenticate
    cdoBasic := 1 // basic (clear-TEXT) authentication
    cdoNTLM := 2 // NTLM - If you are using Exchange Server on a Domain, you may require NTLM (2).


    objMessage := OLEAutoObject{"CDO.Message"}
    objConfiguration := objMessage:Configuration

    // IF you are running Exchange Server, you may need to use 3 (SendUsingExchange).
    // 2-SendUsingPort 3-SendUsingExchange 1-SendUsingPickup
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/sendusing "] := 2

    // Name or IP OF Remote SMTP Server
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpserver "] := cSmtp

    // objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpaccountname "] := cAcctName
    // objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpemailaddress "] := cSMTPEmail

    // Type OF authentication, NONE, Basic (Base64 encoded), NTLM
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpauthenticate "] := cdoBasic
    //objMessage:Configuration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpauthenticate "] := NONE

    // Your UserID on the SMTP server
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/sendusername "] := cUserID

    // Your password on the SMTP server
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/sendpassword "] := cPwd

    // Server port (typically 25 - with SSL: 465 )
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpserverport "] := dPort

    // Use SSL FOR the connection (FALSE or TRUE)
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpusessl "] := lSSL

    // Connection Timeout in Seconds (the maximum time CDO will try TO establish a connection TO the SMTP server)
    objConfiguration:Fields:[Item, " schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout "] := 60
    objConfiguration:Fields:Update()

    // oCDOMsg:Configuration := oCDOConf
    // objMessage:BodyPart:Charset := "utf-8"

    objMessage:Subject := cSubject
    objMessage:From := cFrom
    objMessage:@@TO := cTo
    // IVarPut(objMessage,#TO,cTo)
    // oMsg.CC = cCC
    // oMsg.BCC = cBCC

    objMessage:TextBody := cBody

    /***** To send HTML body, uncomment the following lines:
    cHtml := "<HTML>\n" + ;
    "<HEAD>\n" + ;
    "<TITLE>Sample GIF</TITLE>\n" + ;
    "</HEAD>\n" + ;
    "<BODY><P>\n" + ;
    "<h1><Font Color=Green>Inline graphics</Font></h1>\n" + ;
    "</BODY>\n" + ;
    "</HTML>"

    oder:
    <HTML>
    <HEAD>
    <TITLE>Example</TITLE>
    </HEAD>
    </BODY>
    <DIV>
    <IMG SRC="file://D:/some/path/image.jpg">
    </DIV>
    </BODY>
    </HTML>

    objMessage:HTMLBody := cHtml
    ***********/

    /**** To send WEB page in an e-mail, uncomment the following lines and make changes in TODO section.
    TODO: Replace with your preferred Web page
    CreateMHTMLBody(
    BSTR URL,
    CdoMHTMLFlagsFlags=cdoSuppressNone,
    BSTR UserName,
    BSTR Password)
    CdoSuppressNone := 0 Download all resources referred to in elements within the resource at the specified Uniform Resource Identifier (URI) (not recursive).
    oMsg.CreateMHTMLBody(" www.microsoft.com ", CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")
    oMsg.Subject = "Test SMTP"
    **********/

    objMessage:AddAttachment( "D:\MyTest\Dokument1.pdf" )
    // objMessage:AddAttachment( cDokument2 )
    objMessage:Send()
    objMessage:Destroy()

    RETURN TRUE

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 27 Jul 2020 23:19 #15341

  • ic2's Avatar

  • ic2


  • Posts: 729
  • Hallo Franz,

    Habe ich gleich geschickt heutemittag.

    Dick

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 27 Jul 2020 23:24 #15342

  • ic2's Avatar

  • ic2


  • Posts: 729
  • Hallo Gerhard,

    wrote: Franz,

    mit Windows kann auch ein OLE-Object für den Mailversand genutzt werden. Damit ist auch SSL und ExchangeServer möglich.


    Wir haben Chilkat dafür gekauft aber Exchange functioniert nur mit dem POP3, IMAP und/oder SMTP Protokols eingeschaltet. Sollte dass auch so sein mit dem CDOSendMail Funktion?

    Dick

    Please Log in or Create an account to join the conversation.

    Mailversand in VO 2.8 mit cEmail 04 Aug 2020 15:29 #15442

  • lagraf's Avatar

  • lagraf

  • Topic Author


  • Posts: 142
  • Hallo Dick,
    bei der neuen Version deiner Internet SDK IC2 wird der Name des Anhangs korrekt dargestellt! Da dürfte also doch ein Bug in meiner älteren Version drin gewesen zu sein.
    LG Franz

    Please Log in or Create an account to join the conversation.

    • Page:
    • 1
    • 2
    Moderators: wriedmann