setFrom('from@example.com', 'First Last'); //Set an alternative reply-to address $mail->addReplyTo('replyto@example.com', 'First Last'); //Set who the message is to be sent to $mail->addAddress('whoto@example.com', 'John Doe'); //Set the subject line $mail->Subject = 'PHPMailer mail() test'; //Read an HTML message body from an external file, convert referenced images to embedded, //Convert HTML into a basic plain-text alternative body $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //Attach an image file $mail->addAttachment('images/phpmailer_mini.png'); //Configure message signing (the actual signing does not occur until sending) $mail->sign( '/path/to/cert.crt', //The location of your certificate file '/path/to/cert.key', //The location of your private key file 'yourSecretPrivateKeyPassword', //The password you protected your private key with (not the Import Password! may be empty but parameter must not be omitted!) '/path/to/certchain.pem' //The location of your chain file ); //Send the message, check for errors if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } /** * REMARKS: * If your email client does not support S/MIME it will most likely just show an attachment smime.p7s which is the signature contained in the email. * Other clients, such as Thunderbird support S/MIME natively and will validate the signature automatically and report the result in some way. */ ?>