Visualizzazione dei risultati da 1 a 3 su 3

Discussione: PHP Mail a Capo

  1. #1
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202

    PHP Mail a Capo

    Ciao a tutti ho il seguente problema :
    Sto generando mai utilizzando la funzione mail di php e la stessa è strutturata nel seguente modo :

    $headers ="MIME-Version: 1.0\r\n";
    $headers.="Content-type: text/plain; charset=ISO-8859-1\r\n";

    $bodymail ="Riga1\r\n";
    $bodymail.="Riga2\r\n\r\n";
    $bodymail.="Riga3\r\n\r\n";
    $bodymail ="Riga4\r\n";

    $report=mail('destinatario@tin.it','oggetto',$body mail,$headers);

    Il problema che la mail va a capo solo quando vuole lei :
    Nella prima riga \r\n funziona, ma nella seconda e terza sono costretto a metteere 2 \r\n (facendomi il ritorno a capo due volte e mettendomi una riga bianca), perchè se io ne metto solo 1 di \r\n il testo risulta tutto sulla stessa riga.

    Volete che vi faccio morire dal ridere?

    Allora se io invio la mail a due destinatati uno che utilizza outlook e l'altro gmail lo \r\n singolo funziona su gmail e non su outlook...

    Potrebbe essere un porblema di outlook che non riesce a interpretare correttamente il charset?
    Che mestiere difficile.....essere da soli ancora di più

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Aggiornamento.
    Con il formato specificato la mail funziona e va a capo correttamente
    se però la stringa nella riga 2 è la seguente

    Description: non è stato inviato l'allegato dell' intervento numero : ".$idintervento."\r\n\r\

    Il problema si presenza, ho notato che accorciando significativamente la lunghezza della stringa il problema non si presenta.

    Cosa vuol dire????
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Ok no commento sono riuscito a risolvere il mistero arcano e spero che a tutti quelli che capiti una cosa del genere possano trovare conforto in questa risposta.

    Se voi aprite l'email di outlook (non la visualizzazione di anteprima), noterete in alto una barra con scritto interruzioni di linea in eccesso rimosse, click per abilitarle (una cosa del genere comunque).

    Outlook ha una specie di regola che dovrebbe eliminare le interruzione di riga multiple, ma che in verità funziona a cavoli suoi.

    Se provate a mettere il "." prima di ogni \r\n vedrete che funziona.

    Potete eventualmente disabilitare l'opzione di rimozione automatica interruzioni di linea.

    Queste informazioni si applicano solo a chi ha la necessità di inviare una mail in formato testuale text/plan e che hanno la necessità di formattare la mail in un modo preciso (come nel mio caso il client che riceve la mail ha una routine sub-program che ha il compito di leggere delle info e non ci devono essere caratteri strani come . oppure qualche altra cavolata)

    Altrimenti vi consiglio VIVAMENTE di mandate le mail in formato text/html e risolvete il 99,9999999999999 % dei vostri problemi, se poi ci aggiungete la codifica utf-8 risolvete anche tutti i problemi dei caratteri speciali (o almeno di quelli di uso comune).

    Ciao a tutti e buon lavoro
    Che mestiere difficile.....essere da soli ancora di più

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.