OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
aws-ses
/
vendor
/
phpmailer
/
phpmailer
/
examples
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/19/2025 10:07:19 AM
rwxr-xr-x
📄
DKIM_gen_keys.phps
3.32 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
DKIM_sign.phps
1.77 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
README.md
8 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
azure_xoauth2.phps
4.08 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
callback.phps
2.31 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
contactform-ajax.phps
5.14 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
contactform.phps
3.61 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
contents.html
585 bytes
01/07/2025 12:10:32 PM
rw-r--r--
📄
contentsutf8.html
1.15 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
exceptions.phps
1.66 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
extending.phps
2.63 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
gmail.phps
3.76 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
gmail_xoauth.phps
3.91 KB
01/07/2025 12:10:32 PM
rw-r--r--
📁
images
-
01/07/2025 12:10:32 PM
rwxr-xr-x
📄
mail.phps
1.15 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
mailing_list.phps
3.21 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
pop_before_smtp.phps
2.43 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
send_file_upload.phps
2.08 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
send_multiple_file_upload.phps
2.04 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
sendmail.phps
1.22 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
sendoauth2.phps
4.57 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
simple_contact_form.phps
3.91 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
smime_signed_mail.phps
4.28 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
smtp.phps
2.25 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
smtp_check.phps
2.07 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
smtp_low_memory.phps
4.93 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
smtp_no_auth.phps
1.87 KB
01/07/2025 12:10:32 PM
rw-r--r--
📄
ssl_options.phps
2.36 KB
01/07/2025 12:10:32 PM
rw-r--r--
Editing: smime_signed_mail.phps
Close
<?php /** * This PHPMailer example shows S/MIME signing a message and then sending. * * Before you can sign the mail certificates are needed. * * * STEP 1 - Creating a certificate: * You can either use a self-signed certificate, pay for a signed one, * or use free alternatives such as StartSSL, Comodo etc. * Check out this link for more providers: http://kb.mozillazine.org/Getting_an_SMIME_certificate * In this example I am using Comodo. * The form is directly available via https://secure.comodo.com/products/frontpage?area=SecureEmailCertificate * Fill it out and you'll get an email with a link to download your certificate. * Usually the certificate will be directly installed into your browser (FireFox/Chrome). * * * STEP 2 - Exporting the certificate * This is specific to your browser, however, most browsers will give you the option * to export your recently added certificate in PKCS12 (.pfx) * Include your private key if you are asked for it. * Set up a password to protect your exported file. * * STEP 3 - Splitting the .pfx into a private key and the certificate. * I use openssl for this. You only need two commands. In my case the certificate file is called 'exported-cert.pfx' * To create the private key do the following: * * openssl pkcs12 -in exported-cert.pfx -nocerts -out cert.key * * Of course the way you name your file (-out) is up to you. * You will be asked for a password for the Import password. This is the password you * set while exporting the certificate into the pfx file. * Afterwards, you can password protect your private key (recommended) * Also make sure to set the permissions to a minimum level and suitable for your application. * To create the certificate file use the following command: * * openssl pkcs12 -in exported-cert.pfx -clcerts -nokeys -out cert.crt * * Again, the way you name your certificate is up to you. You will be also asked for the Import Password. * To create the certificate-chain file use the following command: * * openssl pkcs12 -in exported-cert.pfx -cacerts -out certchain.pem * * Again, the way you name your chain file is up to you. You will be also asked for the Import Password. * * * STEP 3 - Code */ //Import the PHPMailer class into the global namespace use PHPMailer\PHPMailer\PHPMailer; require '../vendor/autoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer(); //Set who the message is to be sent from //IMPORTANT: This must match the email address of your certificate. //Although the certificate will be valid, an error will be thrown since it cannot be verified //that the sender and the signer are the same person. $mail->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'), __DIR__); //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 //The password you protected your private key with (not the Import Password! //May be empty but the parameter must not be omitted! 'yourSecretPrivateKeyPassword', '/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. */