Domanda

ho scritto il codice per inviare e-mail. Funziona bene ma il mio obiettivo è:

Quando qualcuno ha inviato al non-esistente indirizzo di posta elettronica, voglio registrare il risultato come 'false' o 'fallimento', ecc (e quando indirizzo e-mail è valido, basta dire 'successo')

ho provato 2 cose con il codice qui sotto.

  1. non-mail stringa 'foo @!' Previsto

  2. indirizzo fornito non esistente e-mail 'thisdoesnotexistignsdfkjsdf@gmail.com'

Risultati:

Esegui caso 1 causato il codice per entrare in catch block output quindi messaggio di errore nella pagina html che si prevede.

Esegui caso 2 causato il codice per tornare 'ok sent!'

E dopo pochi minuti ho ricevuto e-mail che la consegna non.

La mia ipotesi è isSuccess dell'oggetto SendEmailResult () in realtà non è responsabile per non esistente di controllo indirizzo e-mail. Si preoccupa solo se l'e-mail viene sparato ???

C'è un modo per accedere se l'account di posta elettronica non esiste in modo da poter accedere tale occasione nel mio codice Apex?

try {
    Messaging.SendEmailResult[] resultMail = Messaging.sendEmail(new
            Messaging.SingleEmailMessage[] { mail });

    resultMail[0].getErrors();

    //display success or error message
    if (resultMail[0].isSuccess()) {
        response = 'ok sent!';
    } else {
        response = resultMail[0].getErrors().get(0).getMessage();
    }

    //log
    boolean isSuccess = resultMail[0].isSuccess();
    Integer out = EmailLogger.logEmailSent(this, isSuccess);
} catch (System.EmailException ex) {
    system.debug('============== email exception caught!!!=============');
    response = ex.getMessage();
}
È stato utile?

Soluzione

E-mail (SMTP) è un negozio e protocollo in avanti, al momento dell'invio, non si può dire che l'indirizzo e-mail di destinazione è inesistente, si può trovare solo che una volta che il messaggio arriva in realtà fino alla destinazione finale server.

Altri suggerimenti

se ci fosse un modo per trovare l'indirizzo di posta elettronica se esiste davvero o no, uno spammer potrebbe aver tentato attacco di forza bruta - provare ogni possibile combinazione di e-mail e l'invio di spam infinite:)

grazie a Dio, che non è possibile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top