web-dev-qa-db-fra.com

Envoyer du courrier dans phpmailer à l'aide des clés DKIM

Courants J'utilise phpmailer pour envoyer des mails. maintenant comment il est possible d'envoyer des e-mails dans phpmailer avec les clés DKIM

je recherche dans le fichier de classe phpmailer et j'ai trouvé le code ci-dessous

    /**
     * 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 = '';

Puis-je savoir comment c'est possible.

19
Varun Sridharan

Si vous jetez un œil dans les tests unitaires PHPMailer , il y a un exemple de configuration de DKIM.

Voici les bases au-delà de ce que vous devez déjà faire pour envoyer un message (changez évidemment le domaine, le chemin de clé et le sélecteur pour qu'ils correspondent à votre configuration, et ajoutez une phrase de passe si vous en utilisez un); cela suppose également que vous avez l'intention de signer en utilisant le même identifiant que votre adresse From:

$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;

Lorsque vous send() le message (et pas avant), il utilisera ces paramètres pour générer une signature DKIM.

35
Synchro

J'ai l'expérience suivante:

  1. La paire de clés générées sur http://dkim.worxware.com/createkeys.php est probablement destinée au SHA1, tandis que la dernière version 5.2.14 du class.phpmailer.php est destiné à SHA256.
    L'exemple ci-dessus n'était pas fonctionnel.
  2. J'ai changé tous les paramètres et fonctions dans class.phpmailer.php de SHA256 sur SHA1 (j'ai remplacé simplement toutes les chaînes SHA256 par les chaînes SHA1).
    Mon PHP pour la signature DKIM est devenu fonctionnel.
3
Dusan