2014-06-28 15 views
11

Correnti sto utilizzando phpmailer per inviare posta. ora come la sua possibilità di inviare e-mail in phpmailer con le chiavi DKIMInvia posta in phpmailer utilizzando i tasti DKIM

I Cerca nel file di classe phpmailer e ho trovato il codice qui sotto

/** 
    * DKIM selector. 
    * @type string 
    */ 
    public $DKIM_selector = ''; 

    /** 
    * DKIM Identity. 
    * Usually the email address used as the source of the email 
    * @type string 
    */ 
    public $DKIM_identity = ''; 

    /** 
    * DKIM passphrase. 
    * Used if your key is encrypted. 
    * @type string 
    */ 
    public $DKIM_passphrase = ''; 

    /** 
    * DKIM signing domain name. 
    * @example 'example.com' 
    * @type string 
    */ 
    public $DKIM_domain = ''; 

    /** 
    * DKIM private key file path. 
    * @type string 
    */ 
    public $DKIM_private = ''; 

Posso sapere come la sua possibile. pls help me

+0

Con quale specifico problema si verificano? I commenti sembrano completamente esplicativi. – icktoofay

+0

Ho sperimentato questo problema ma non sono riuscito a farlo funzionare. Ho optato per un filtro OpenDKIM per Sendmail che ha il vantaggio che tutta la posta in uscita è firmata –

risposta

20

Se dai un'occhiata allo PHPMailer unit tests, c'è un esempio di come configurare DKIM.

Ecco le nozioni di base oltre a ciò che è già necessario fare per inviare un messaggio (ovviamente modificare il dominio, il percorso della chiave e il selettore in modo che corrisponda alla configurazione e aggiungere una passphrase se ne si utilizza uno); questo presuppone anche che avete intenzione di firmare con lo stesso identificativo come From indirizzo:

$mail->DKIM_domain = 'example.com'; 
$mail->DKIM_private = '/path/to/my/private.key'; 
$mail->DKIM_selector = 'phpmailer'; 
$mail->DKIM_passphrase = ''; 
$mail->DKIM_identity = $mail->From; 

Quando si send() il messaggio (e non prima), userà queste impostazioni per generare una firma DKIM.

+0

da dove posso ottenere il percorso chiave '/ percorso/a/mio/privato.key' e cosa è questo' $ mail-> DKIM_passphrase ' –

+0

Se guardi il codice di test dell'unità, include la creazione di una chiave, ma se stai firmando per DKIM lo avrai già fatto e avrai una chiave da qualche parte, ma non so dove l'hai messa!Quando crei una coppia di chiavi, puoi opzionalmente criptare la chiave usando una passphrase, e tutto ciò che deve usare la chiave deve essere in grado di decodificarlo, quindi ha bisogno della passphrase, ed è qui che la metti. Se non si cripta la chiave (come è comune sui server), non è necessario. – Synchro

+1

Il 'DKIM_selector' è sempre' 'phpmailer''? – Piero

-1

Clicca qui

http://dkim.worxware.com/

In fondo - fare clic su Continua .... questo vi porterà allo strumento per generare la chiave privata, la chiave pubblica e come usarli

E ' ti consentirà di generare chiave privata/pubblica con le istruzioni

In breve: - seup per inviare utilizzando il file di chiave privata/pubblica per aggiungere intestazioni dkim nell'intestazione dell'e-mail - m record DNS TXT difica per la chiave pubblica

NON ci sono tutorial Alla data odierna - ho trovato questo dopo gettin g nulla per un paio di mesi

HTH

+1

Questa è fondamentalmente una risposta di solo collegamento. I collegamenti possono diventare obsoleti. Pertanto dovresti includere la parte essenziale del link nella tua risposta. – hotzst

+1

@hotzst - se questo collegamento MAI diventa obsoleto, la domanda perderà. questa è la "casa" di PHPmailer – Aveesh

+0

Il link non è aggiornato. Ho controllato la variante https, anche il server non è stato trovato. Chiaramente hai parlato troppo presto. – Lizardx

2

Ho la seguente esperienza:

  1. la coppia di chiavi generate a http://dkim.worxware.com/createkeys.php è probabilmente destinato al SHA1, mentre l'ultima versione 5.2.14 del class.phpmailer.php è destinato SHA256.
    L'esempio precedente non era funzionale.
  2. Ho modificato tutte le impostazioni e le funzioni nello class.phpmailer.php da SHA256 su SHA1 (ho sostituito semplicemente tutte le stringhe SHA256 con le stringhe SHA1).
    Il mio script PHP per la firma DKIM è diventato funzionale.
+0

Mi ci sono voluti un paio d'ore per scoprire che questo era il mio problema! Molto frustrante! Ho usato questo sito per generare le mie chiavi https://www.socketlabs.com/domainkey-dkim-generation-wizard/. Funzionando correttamente con l'ultima versione di phpmailer (5.2.14) – Timo002

+0

Evita la famiglia di funzioni SHA1. Gli attacchi pratici a SHA1 sono stati pubblicati all'inizio di quest'anno (https://shattered.io/). Ci sono molte istruzioni su come generare una coppia di chiavi DKIM usando openssl. Inoltre, è generalmente una cattiva idea avere un sito Web di terze parti per generare chiavi di sicurezza. Se memorizzano la chiave, possono impersonare te. Invece, generalo offline usando openssl. – techdude