Ciao,
è possibile utilizzare /usr/sbin/sendmail con fopen() per accertare che un messaggio venga recapito? Badate bene intendo recapitato, NON letto. C'è un valore di ritorno che può essere letto?
Grazie.
Ciao,
è possibile utilizzare /usr/sbin/sendmail con fopen() per accertare che un messaggio venga recapito? Badate bene intendo recapitato, NON letto. C'è un valore di ritorno che può essere letto?
Grazie.
L'opzione -N dovrebbe fare al caso tuo
![]()
Grazie della risposta celere, gentilissimo. Ho letto la man page al riguardo:Originariamente inviato da Dascos
L'opzione -N dovrebbe fare al caso tuo
![]()
Set delivery status notification conditions to dsn, which can be
'never' for no notifications or a comma separated list of the
values 'failure' to be notified if delivery failed, 'delay' to
be notified if delivery is delayed, and 'success' to be notified
when the message is successfully delivered.
Immagino che la notifica avvenga all'indirizzo di posta elettronica che imposto come sender, giusto?
Non ne ho ideaOriginariamente inviato da Colossus
Grazie della risposta celere, gentilissimo. Ho letto la man page al riguardo:
Set delivery status notification conditions to dsn, which can be
'never' for no notifications or a comma separated list of the
values 'failure' to be notified if delivery failed, 'delay' to
be notified if delivery is delayed, and 'success' to be notified
when the message is successfully delivered.
Immagino che la notifica avvenga all'indirizzo di posta elettronica che imposto come sender, giusto?prova
Innanzi tutto...per cosa ti serve? Sì, ok, per sapere se è stato inviato...ma perchè vorresti usare un ritorno da sendmail? Non ti basta il ritorno dal metodo mail di php?
![]()
It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.Originariamente inviato da Dascos
Non ne ho ideaprova
Innanzi tutto...per cosa ti serve? Sì, ok, per sapere se è stato inviato...ma perchè vorresti usare un ritorno da sendmail? Non ti basta il ritorno dal metodo mail di php?
![]()
Estratto da qui:
http://it.php.net/manual/en/function.mail.php
Sto scrivendo un codice per gestire newsletter. L'utente DEVE sapere se le email arrivano, specialmente se spedite in grosse quantità.
Allora ti conviene usare un metodo un po' grezzo, se usando il -N non hai il risultato che ti aspetti...Originariamente inviato da Colossus
It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination.
Estratto da qui:
http://it.php.net/manual/en/function.mail.php
Sto scrivendo un codice per gestire newsletter. L'utente DEVE sapere se le email arrivano, specialmente se spedite in grosse quantità.
Inviata la mail (o le mail) ti metti a vedere nel mail.log se hai le corrrispondenti righe di "inviata"; hai la mail di destinazione, hai l'orario di invio (o comunque lo puoi recuperare, almeno approssimativamente)...fai un grep e vedi se c'è la riga giusta.
Oppureeee...butti sendmail e installi exim o postfix, facendo mandare le mail di errore (destination unreachable, Undelivered Mail Returned to Sender eccetera) ad un tuo indirizzo che puoi controllare, eventualmente anche sullo stesso server. Se sullo stesso server, diventa ancora più semplice verificare...
![]()
Grazie per le info. Il codice che sto scrivendo è per hosting condiviso al momento, per cui non ho accesso a tutto quanto sopra. Per la versione per server terrò in considerazione quanto sopra.Originariamente inviato da Dascos
Allora ti conviene usare un metodo un po' grezzo, se usando il -N non hai il risultato che ti aspetti...
Inviata la mail (o le mail) ti metti a vedere nel mail.log se hai le corrrispondenti righe di "inviata"; hai la mail di destinazione, hai l'orario di invio (o comunque lo puoi recuperare, almeno approssimativamente)...fai un grep e vedi se c'è la riga giusta.
Oppureeee...butti sendmail e installi exim o postfix, facendo mandare le mail di errore (destination unreachable, Undelivered Mail Returned to Sender eccetera) ad un tuo indirizzo che puoi controllare, eventualmente anche sullo stesso server. Se sullo stesso server, diventa ancora più semplice verificare...
![]()
![]()
Prova magari con le opzioni -D e -d, magari in congiunzione con -C o ErrorMode=x e LogLevel=nOriginariamente inviato da Colossus
Grazie per le info. Il codice che sto scrivendo è per hosting condiviso al momento, per cui non ho accesso a tutto quanto sopra. Per la versione per server terrò in considerazione quanto sopra.
![]()
Comunque
quindi dovresti poter recuperare l'output...codice:Sendmail returns an exit status describing what it did. The codes are defined in <sysexits.h>:
![]()
Grazie faccio un pò di prove e ti faccio sapere. Che ne pensi invece di usare direttamente i socket per collegarsi al server smtp del destinatario? Un pò come si fa con telnet per inviare una email per intenderci...Originariamente inviato da Dascos
quindi dovresti poter recuperare l'output...
![]()
Col socket potresti vedere se esiste un server mail, ma non se l'utente esiste sul server (o meglio, sì potresti ma non è detto che il risultato sia reale e soprattutto rischi un ban...), dovresti fare un finger o un finto tentativo di connessione pop, una volta scoperto che esiste un server mail, il che rende inutilmente complicato il tutto.Originariamente inviato da Colossus
Grazie faccio un pò di prove e ti faccio sapere. Che ne pensi invece di usare direttamente i socket per collegarsi al server smtp del destinatario? Un pò come si fa con telnet per inviare una email per intenderci...
Molto meglio far fare a ognuno il suo mestiere e gestire solo il risultato, quindi ti consiglio di provare una delle soluzioni suggerite, prima di impicciarti con soket, finger, telnet eccetera..
![]()