Search code examples
phpemailphpmailerdkim

Send mail in phpmailer using DKIM Keys


Currents i am using phpmailer to send mail's. now how its possible to send email in phpmailer with DKIM keys

i search in phpmailer Class file and i found the below code

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

Can i know how its possible.


Solution

  • If you take a look in the PHPMailer unit tests, there is an example of how to set up DKIM.

    Here are the basics beyond what you already need to do to send a message (obviously change the domain, key path and selector to match your config, and add a passphrase if you use one); this also assumes that you are intending to sign using the same identifier as your From address:

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

    When you send() the message (and not before), it will use these settings to generate a DKIM signature.