When sending email body text, reciever from email gets strange characters in email body

(6 posts) (2 voices)

Tags:

No tags yet.

  1. kdekkers, Member

    When sending email body text, reciever from email gets strange characters in email body

    example of recieved text (in dutch) - the = charachter is the culprit

    Een recente aanpassing van de wet rond de gedwongen opnames verplic= ht het ziekenhuis ertoe om verschillende betrokkenen (o.a. ouder van minder= jarige kinderen, samenwonende) op de hoogte te brengen wanneer de persoon h= et ziekenhuis tijdelijk of definitief mag verlaten, wanneer hij/zij niet la= nger meer overnacht, maar alleen in daghospitalisatie of nazorg wordt behan= deld,of wanneer hij/zij wordt overgeplaatst naar een ander ziekenhuis

    my code i use concat to construct the email body (send in html)
    When i put less characters in the email body the '=' disapears

    Set EmailTextOndertekening = '</BR></BR>hoofd van dienst';

    -- Default text die standaard in elke email voorkomt
    Set EmailTextDefault1 = Concat('Geachte </BR></BR>', inPatientNaam , ' werd opgenomen in Psychiatrisch Ziekenhuis Bethaniënhuis te Zoersel in het kader van de wet van 26 juni 1990 betreffende de gedwongen opname.</BR></BR>');
    -- 'De gedwongen opname is bedoeld als beschermingsmaatregel wanneer iemand met een psychiatrische problematiek een mogelijk gevaar zou kunnen zijn voor zichzelf of anderen en een vrijwillige behandeling weigert. ',
    -- 'Een opname in een gespecialiseerd ziekenhuis kan noodzakelijk zijn.</BR></BR>');
    Set EmailTextDefault2 = Concat('Een gedwongen behandeling houdt verschillende fases in waarbij de momenten buiten het ziekenhuis progressief worden opgebouwd.</BR>',
    'Een recente aanpassing van de wet rond de gedwongen opnames verplicht het ziekenhuis ertoe om verschillende betrokkenen (o.a. ouder van minderjarige kinderen, samenwonende) ');
    Set EmailTextDefault3 = Concat('op de hoogte te brengen wanneer de persoon het ziekenhuis tijdelijk of definitief mag verlaten, wanneer hij/zij niet langer meer overnacht, maar alleen in daghospitalisatie of nazorg wordt behandeld,',
    'of wanneer hij/zij wordt overgeplaatst naar een ander ziekenhuis.');

    -- Variable text afhankelijk van de gemaakte keuze
    if inKeuzeEmailTekst = 1 then
    SET EmailText = Concat('<\BR><\BR>In het kader van deze wetgeving delen wij u mee dat ', inPatientNaam,' vanaf ', date(inDatumVan), ' overgeplaatst werd naar ', inOverplaatsingNaar);
    SET EmailOnderwerp = concat('Betreft gedwonen opname van ',inPatientNaam,' - Overplaatsing');
    End if;

    if inKeuzeEmailTekst = 2 then
    SET EmailText = 'Type 2';
    SET EmailOnderwerp = 'Gedwonen opname: eerste uitgang';
    End if;

    if inKeuzeEmailTekst = 3 then
    SET EmailText = 'Type 3';
    End if;

    if inKeuzeEmailTekst = 4 then
    SET EmailText = 'Type 4';
    End if;

    OPEN CURSOR_EmailAdressen;
    -- loop start
    get_EMailAdressen: LOOP

    FETCH CURSOR_EmailAdressen INTO EmailAdresBestemming, ContactPersoon, TelefoonGSM;
    IF v_finished = 1 THEN
    LEAVE get_EMailAdressen;
    END IF;

    IF length(trim(EmailAdresBestemming)) > 0 THEN
    Select EmailAdresBestemming, EmailOnderwerp, concat('dbr.html:', EmailTextDefault1, EmailTextDefault2, EmailTextDefault3, EmailText, EmailTextOndertekening);

    Select 'dbr.mail', 1;
    -- Select 'dbr.mail.recipient', 'my.adres@company.be', 'Patient bewegingen', 'bcc';
    -- Select 'dbr.mail.sender', 'noreply@company.be';
    Select EmailAdresBestemming, -- Bestemmeling
    'test@emmaus.be', -- Afzender -> WERKT NIET !!
    EmailOnderwerp ; -- Onderwerp email
    concat(EmailTextDefault1, EmailTextDefault2, EmailTextDefault3, EmailText, EmailTextOndertekening); -- body text
    -- concat(EmailTextDefault1, EmailTextDefault2, EmailText, EmailTextOndertekening); -- body text
    ELSE
    select 'dbr.text', concat('Voor contactpersoon ',ContactPersoon, ' is er geen email adres ingegeven - verwittig deze manueel - Telefoon is: ', TelefoonGSM), 'WaarschuwingGOMail';
    END IF;

    -- loop einde
    END LOOP get_EMailAdressen;
    -- Sluit de cursor af
    CLOSE CURSOR_EmailAdressen;

    Also when i use the dbr.mail.sender the email doesn't get send

    Someone ?!

  2. myDBR Team, Key Master

    Sounds like the issue discussed here.

    What is the PHP version and the email client you are running?

    --
    myDBR Team

  3. kdekkers, Member

    We are accessing Mydbr thru a SAAS version (mydbr is part of software we use) so i don't know the PHP version.
    Email clients are outlook 2013

  4. myDBR Team, Key Master

    OK. The bug is likely the same as described above, happening with Outlook servers with messages containing long lines.

    When a mail with long lines is sent, myDBR's mail-library (PHPMailer) spots long lines and automatically switches to using quoted-printable encoding to wrap long lines safely. For some reason some Outlook versions re-encodes and rewraps at a shorter length, resulting in a double encoding without matching MIME changes (i.e. corruption).

    We've added an option in the newest build to set the mail encoding to the outgoing mail. Update the myDBR / ask your SAAS provider to update. Then set the encoding to base64 in the report and see if this resolves the issue:

    select 'dbr.mail.encoding', 'base64';

    --
    myDBR Team

  5. kdekkers, Member

    Will do , thanks a lot

  6. kdekkers, Member

    It works now, thanx


Reply

You must log in to post.