l'invio della posta elettronica ed il servizio offerto da vari provider

marino51

Utente Attivo
28 Feb 2013
3.204
207
63
Lombardia
ciao,

frequentando mrWebmaster da un po' di tempo, ho notato che molti post, trattano problemi che sorgono con l'invio delle email
vorrei quindi trattare un argomento che molto raramente è presente nelle guide di aiuto e supporto

l'invio della posta elettronica ed il servizio offerto da vari provider,

il provider può avere identità diverse,
può essere un proprio pc o un proprio server (azienda), su cui è stato installato il software di gestione della posta
ma può essere anche un servizio "intrinseco", cioè che non vedo, perchè offerto ad esempio in un pacchetto di hosting
oppure può essere un fornitore specifico, vedi gmail, web.de, alice, tiscali e tutti quelli che vi vengono in mente

anche l'utente che invia la posta può avere identità diverse,
la persona che utilizza un client di posta è il classico utente
ma anche lo script che manda la "conferma di registrazione", o più in generale, che invia una mail è l'utente della posta
in qualunque forma venga inviata una mail, chi la invia è "l'utente"


esiste quindi un rapporto diretto tra il servizio della posta elettronica e ciascun utente

come molti altri servizi, anche la posta richiede l'autenticazione dell'utente,
autenticazione che può avvenire con una connessione al servizio non protetta o protetta da crittografia

chi sceglie se usare la connessione protetta o non ?
il provider del servizio, anche in funzione di qualche "feature" che vogliamo utilizzare


proviamo a fare il parallelo con un servizio che tutti conoscono,

accedo al database con un driver (mysql, mssql, oracle ... )
accedo al servizio di posta senza nessun driver, il servizio è codificato internazionalmente

definisco l'host su cui è presente il servizio che mi permette l'accesso al database
lo stesso devo fare per accedere al servizio di posta elettronica (servizio SMPT)

definisco il database a cui devo accedere
per la posta definisco la porta di accesso che mi identifica se connessione crittografata o non

definisco le credenziali di accesso al database, userID e password
lo stesso devo fare per il servizio di posta

per la connessione al database ho detto tutto,
per la connessione crittografata alla posta devo indicare quale sicurezza viene usata


quando un servzio di posta elettronica funziona senza autenticazione, questa è sicuramente "intrinseca"
vedi quanto detto sopra


ecco un esempio dei parametri da utilizzare per la connessione al servizio di posta elettronica

PHP:
$eM_Host     = "smtp.example.com";  // SMTP servizio mail
$eM_Port     = 587;                 // 25, 465, 587
$eM_Auth     = true;                // false (25) true (465, 587)
$eM_Secure   = "tls";               // "" (25) "ssl" (465) "tls" (587)
$eM_username = "[email protected]";  // utente conosciuto dal servizio mail usato
$eM_password = "password";          // password dell'utente


siamo tornati all'invio della mail in modo specifico con php,
posso utilizzare la funzione mail() disponibile nativamente nel linguaggio
oppure sfruttare una "classe" resa disponibile da chi l'ha sviluppata, che aiuta nel compito

nel file allegato a questo post, è possibile trovare,
1) un file di "configurazione", che contiene i parametri di alcuni servizi sicuramente provati
2) uno script per provare connessioni "semplici" usando la funzione mail()
3) uno script per provare connessioni usando la classe PHPMailer (con anche invio di allegati)

lo scopo è provare il sevizio che si vuole utilizzare, quando si incontrano difficoltà
spesso ho visto creare piccoli script di test in alternativa al principale, anch'essi non funzionanti,
solo perchè non si conosce o non si valuta con attenzione l'autenticazione

la "poca" esperienza, mi dice che la funzione mail() nativa può essere usata con profitto quando la mail è semplice
viceversa con allegati o funzionalità "spinte" meglio usare PHPMailer come suggerito in molti post

PHPMailer offre (non documentata) la verifica delle operazioni di invio con,
PHP:
$mail->SMTPDebug = 4;  // attiva log dell'invio, ELIMINARE quando si mette in "produzione"


gli script dovrebbero essere facili da comprendere, in ogni caso, questo post è aperto a tutti i contributi
di chi volesse integrare e/o meglio chiarire le mie "poche idee e ben confuse"
ciao
Marino
 

Allegati

  • MailTest.zip
    5 KB · Visite: 1.047
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
A problema con l'invio della password tramite email PHP 23
E ajax invio dati senza reload della pagina Ajax 2
R Invio dai tessera sanitaria PHP 1
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
G Invio di più valori con la stessa checkbox PHP 4
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
M Invio di email PHP 0
A invio massivo dati a file php Javascript 4
P Funzione jQuery Ajax invio file a php jQuery 1
Cosina Upload multiplo con invio allegati per email PHP 0
C Mailchimp ritardo invio newsletter subscribers Email Marketing 1
G creazione menu a tendina e invio a pagina php PHP 1
R Invio mail con allegati multipli PHP 0
R Invio mail con allegati da directory PHP 1
Cosina Invio messaggio a mailing list su file txt PHP 9
W Invio Dati ad un altra pagina Classic ASP 1
S Invio email da form PHP 8
psicomia Server e url per invio di file Server Dedicati e VPS 3
max1974 Invio email PHP 12
Daniele_Carrara Problema timeout - invio mail PHP 7
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
L [PHP] Invio Immagini PHP 1
AC1 [PHP] Invio Mail PHP 18
I [PHP] Invio sms multipli PHP 4
S Consigli per invio di comunicati stampa Discussioni Varie 2
A [PHP] Invio automatico dati da form PHP 6
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
ANDREA20 [PHP] Modulo email invio PHP 5
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
Tommy03 Errore invio email con PHP PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
A [PHP] Invio messaggio a tutti gli iscritti PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
Tommy03 Invio email con PHP PHP 3
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
R [javascript]Form invio preventivo Javascript 0
A [PHP] Invio MP a destinatari multipli PHP 6

Discussioni simili