Answer the question
In order to leave comments, you need to log in
How to remove empty email error when sending with Php mailer?
I'm trying to send an email signed with a certificate. However, when sending with the addition of the lines "$mail->sign" - the letter comes empty. Everything is fine without them. What could be the problem?
<?php
*/
require 'class.phpmailer.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('[email protected]', 'First Last');
//Set an alternative reply-to address
$mail->addReplyTo('[email protected]', 'First Last');
//Set who the message is to be sent to
$mail->addAddress('[email protected]', '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(
'qwe.crt', //The location of your certificate file
'qwe.key', //The location of your private key file
'', //The password you protected your private key with (not the Import Password! may be empty but parameter must not be omitted!)
'' //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.
*/
?>
Answer the question
In order to leave comments, you need to log in
most likely you have disabled notis level error output, and the certificate does not pass verification or something like that, when debugging an application this is a bad practice, as an option - read the error log.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question