Pagina 6 di 26 primaprima ... 4 5 6 7 8 16 ... ultimoultimo
Visualizzazione dei risultati da 51 a 60 su 255
  1. #51
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da filippomaschiet
    non esiste proprio una funzione che invece di leggere solamente, interpreta pure e mi manda solo l'html?
    no eh?

    vabbuo' al limite vedo di scriverne una casalinga, ma se esistesse vi prego fatemelo sapere...
    no, ma che ci vuole, quello che hai nel file php, sarà qualcosa del tipo

    echo "...."

    anzichè usare l'echo concateni una stringa, quindi

    echo "...." diventerà $mail_body = "....".

    Includi il file php e usa $mail_body, è una modifica di 10 secondi netti

  2. #52
    ho fatto come dicevi ed in effetti non ci ho messo tanto...
    pensavo di mettere in sessione l'html che avevo inserito in una variabile ma adesso mi esce un errore...

    qundo faccio

    $mail->MsgHTML($_SESSION['mail']);

    Warning: preg_match_all() expects parameter 2 to be string, object given in xxxxxxxxx

    mannaggia
    http://www.dammnet.it
    http://www.nautica-bozzato.it

  3. #53
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    perchè lo metti in sessione? è proprio necessario?

    Comunque il metodo MsgHTML cerca probabilmente con qualche regex di estrarre la controparte testuale della tua mail, e sembra che $_SESSION['mail'] contenga un oggetto e non una stringa.

    Non è che sul tuo server hai le register_globals a on?

    Perchè vedendo il tuo codice la variabile $mail è l'istanza dell'oggetto phpmailer.

    Prova a mettere il tutto in $_SESSION['testo_mail'].

    Comunque rinnovo la domanda, è davvero necessario mettere in sessione la variabile?

    ciao

  4. #54
    alla fine era solo l'esigenza di far vedere la preview della pagina html...

    ho risolto con una poco elegante duplicazione di codice.
    http://www.dammnet.it
    http://www.nautica-bozzato.it

  5. #55
    Utente di HTML.it L'avatar di AvOJaromil
    Registrato dal
    Feb 2006
    residenza
    laddove si stagiona formaggio dentro a dei grossi buchi di tufo
    Messaggi
    549
    a me non funziona.
    restiuisce un errore: Language string failed to load:instantiate

    che sarà?
    "homer sei tonto come un mulo e due volte più brutto. se uno sconosciuto ti offre un passaggio tu devi accettarlo..."

    www.flickr.com/photos/asciella/
    www.lastfm.it/user/qvaioe/

  6. #56
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    154
    vorrei porre due domande che mi sono saltate in mente mentre leggevo la pillola:

    1) È possibile inviare delle mail personalizzate x ognuno con phpmailer, oppure mi devo creare io una funzione specifica?
    2) In un post precedente si parlava di inviare un header che facesse pensare al client che la mail fosse stata spedita ad esempio con Mozilla Thunderbird, come si fa?

  7. #57
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    3
    Originariamente inviato da Vincent
    ...
    ma quando arriva la mail, alcune immagini non vengono visualizzate, e alcuni links non funzionano.

    In effetti tutte le immagini di sfondo della pagina richiamate dal file css vengono caricate nella mail, ma il tag [img]../miaImg.jpg[/img] viene per esempio sostituito con
    [img]cid:b3b5c35e730ac3e363f3dd7d8e4132c6[/img]

    Ma se apro il browser e lancio il file mail.php, io visualizzo tutto correttamente, ed il codice sorgente risulta pulito come in effetti è stato scritto... come mai accade questo?

    P.S. Utilizzo Thunderbird come client di posta elettronica.
    ...
    in breve:

    invece di allegare le immagini così:

    Codice PHP:
    $mail->AddEmbeddedImage('my-photo.jpg''my-photo''my-photo.jpg'); 
    allegale così, aggiungendo anche i due parametri 'base64' e 'image/jpg' che vedi in più:

    Codice PHP:
    $mail->AddEmbeddedImage('my-photo.jpg''my-photo''my-photo.jpg''base64''image/jpg'); 
    segue spiegazione (per prima cosa: scusate se dico fesserie, alcune cose non sono chiare anche a me, sentitevi liberi di correggere/integrare).

    per quanto riguarda il src=cid:... è normale: siccome il protocollo di trasmissione delle email, SMTP, può trattare solo caratteri ASCII a 7 bit, le foto allegate, che sono composte anche di caratteri estesi, vengono trasformate in una sequenza di caratteri a 7 bit. questa sequenza viene messa da una parte nell'email e le viene assegnato un codice particolare: il cid:qualcosa. quindo il corpo dell'email deve proprio fare riferimento a quel cid, perché l'immagine, in effetti, è stata ricodificata in qualcos'altro.

    il fatto che un client di posta elettronica possa visualizzare un messaggio email come se fosse una pagina web è qualcosa "in più" rispetto alle sue funzionalità originali e non tutti i client di posta elettronica fanno questo "qualcosa in più" allo stesso modo (per dire, già i browser, che sono dedicati a ciò, non visualizzano le pagine allo stesso modo, figuriamoci i client di posta elettronica...).

    la cosa non mi è molto chiara, quindi la riporto per come l'ho capita io: lo standard per gli allegati multimediali sulle email si chiama MIME e non tutti i client, appunto, lo interpretano allo stesso modo. ad esempio, se ho capito bene, gmail (che non è un client ma vabbè) o outlook si accorgono che un certo file allegato/embedded è un'immagine e lo visualizzano come tale anche se gli si dice che secondo lo standard MIME è un "application/octect stream" anziché, come gli si dovrebbe dire, una "image/jpg" o "image/gif" o image/png". thunderbird invece no, vuole proprio che gli venga detto che la mappazza a 7 bit che poi lui deve trasformare in immagine sia proprio un'immagine.

    allora, qui viene il bello.

    nella documentazione di PHPMailer viene detto che per allegare un'immagine occorre fare così:

    Codice PHP:
    $mail->AddEmbeddedImage('my-photo.jpg''my-photo''my-photo.jpg'); 
    ora, se andiamo a cercare la funzione AddEmbeddedImage di PHPMailer che allega le immagini troviamo questa:

    Codice PHP:
    function AddEmbeddedImage($path$cid$name ''$encoding 'base64'$type 'application/octet-stream') {
    ... 
    (nella versione di PHPMailer che ho scaricato io, la 2.0.0, è a riga 1312 del file class.phpmailer.php).

    come vedi i parametri obbligatori sono solo i primi due *MA!* ce ne sono anche altri facoltativi!

    (me ne sono accorto perché pensavo di modificare a mano io la funzione, per fortuna che l'avevano già previsto anche se non l'hanno documentato).

    tra questi parametri è l'ultimo quello che ci interessa: serve a dire "marca la mappazza a 7 bit che otterrai ricodificando il file che ti passo come mappazza-immagine e non come mappazza-file generico".

    allora per dire esplicitamente a PHPMailer di marcare come immagine la mappazza, in modo che anche Thunderbird la interpreti correttamente, bisognerà allegare le immagini in questo modo:

    Codice PHP:
    $mail->AddEmbeddedImage('my-photo.jpg''my-photo''my-photo.jpg''base64''image/jpg'); 
    cioè passando esplicitamente anche i parametri facoltativi $encoding ('base64') e $type (in questo caso, visto che l'immagine dell'esempio è jpg, 'image/jpg'. se l'immagine fosse gif o png si dovrebbe passare 'image/gif' o 'image/png'. in realtà mi sono accorto per sbaglio che Thunderbird visualizza correttamente sia le gif marcate 'image/jpg' che le jpg marcate 'image/gif'). per $encoding andrebbe bene il valore di default, ma mi pare che i parametri facoltativi possano essere tralasciati solo se stanno tutti in fondo alla chiamata, e non se risultano "in mezzo" come in questo caso.

    personalmente non ci sarei mai arrivato se non avessi letto in un altro forum che qualcuno si era accorto che su thunderbird era la marcatura a dare problemi.

    forse gli autori di PHPMailer dovrebbero documentare meglio questo meritevole sforzo che hanno fatto!

  8. #58
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    3
    Originariamente inviato da eliJS
    vorrei porre due domande che mi sono saltate in mente mentre leggevo la pillola:

    1) È possibile inviare delle mail personalizzate x ognuno con phpmailer, oppure mi devo creare io una funzione specifica?
    PHPMailer manda un singolo messaggio alla volta, anche a più indirizzi, ma sempre lo stesso messaggio manda.

    se vuoi mandare messaggi diversi (tipo "caro Lello ecco le foto del mio gatto...", "cara Gina ecco le foto del mio gatto..." ecc.) dovrai costruire questi messaggi uno per uno. tipicamente lo si fa mettendo nella tabella di un database i dati necessari e scorrendola e passando alla routine che usa phpmailer i dati necessari per comporre l'email.

  9. #59
    ciao!
    dovrei mandare delle mail a diversi destinatari e qui ho letto ke sarebbe consigliabile scaricare PHPmailer, ma devo x forza? si possono inviare anke solo così, o nn funziona?

    Codice PHP:
    <?php
          $destinatari
    ="malica <malica@live.it>" ", " ;
          
    $oggetto="Notifica data esame";
          
    $messaggio
           
    '
            <html>
             <head>
               <title>Data esame</title>
             </head>
             <body>
                 Si prega di presentarsi domani alle ore 8.00 

             </body>
            </html>
           '
    ;

    // Per inviare email in formato HTML, si deve impostare l'intestazione Content-type.
          
    $intestazioni  "MIME-Version: 1.0\r\n";
          
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
          
          
    mail($destinatari$oggetto$messaggio$intestazioni);
    ?>
    e poi un'altra domanda:
    questo codice l'ho preso dal manuale, xò nn ho capito quando parla delle intestazioni, MIME... cosa sono?

    Ultima domanda:
    dovrei mandare la stessa mail a + destinatari, ma vorrei ke fossero inseriti in automatico, ad es. i primi 5 di una lista, ma come si fa...?

  10. #60
    :rollo:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.