Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    Usare sendmail per accertare che un messaggio venga recapito

    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.

  2. #2

  3. #3
    Originariamente inviato da Dascos
    L'opzione -N dovrebbe fare al caso tuo

    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?

  4. #4
    Originariamente 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?
    Non ne ho idea 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?


  5. #5
    Originariamente inviato da Dascos
    Non ne ho idea 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.

    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à.

  6. #6
    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à.
    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...


  7. #7
    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...

    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.


  8. #8
    Originariamente 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.

    Prova magari con le opzioni -D e -d, magari in congiunzione con -C o ErrorMode=x e LogLevel=n

    Comunque
    codice:
    Sendmail returns an exit status describing what it did.  The codes are defined in <sysexits.h>:
    quindi dovresti poter recuperare l'output...


  9. #9
    Originariamente inviato da Dascos
    quindi dovresti poter recuperare l'output...

    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...

  10. #10
    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...
    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.
    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..


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.