Hey , Guy
I am sharing my experienced which I faced lot of effort to resolve the DKIM and DMARC fail issue on email sent.
Finally I resolved the issue using changing the header below and validate the html tag in your email body.
Here is the result of pass by google and test mailer
SPF: | PASS with IP 203.85.210.401 Learn more |
---|---|
DKIM: | 'PASS' with domain gmail.com Learn more |
DMARC: | 'PASS' |
function sendNewsLetter($id='', $to_name='', $to_address=''){
$from_name = 'Phptechnicalgroups';
$from_address = 'contact@phptechnicalgroups.com';
$reply_address = 'no-reply@phptechnicalgroups.com';
//hiddenUrl variable call when user read the email to identify
$hiddenUrl = 'http://phptechnicalgroups.blogspot.in/captcha.php?type=mailer_socialhub_february_2018&id='.$id;
$maildescription ='<html>
<head>
</head>
<body style="margin: 0; padding: 0;">
<div style="display: none;">
<img alt="" src="'.$hiddenUrl.'" width="0px" height="0px">
</div>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Phptechnicalgroup - Social Hub Updates - January 2018</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</body>
</html>';
$subject = "Email Subject";
$mime_boundary = "----php technical group----".MD5(TIME().$id.TIME());
$additional ='webmaster@phptechnicalgroups.blogspot.in';
$messageid = $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) .$id. '@' . $_SERVER['SERVER_NAME'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= 'Return-Path: Intel Network Builders <no-reply@phptechnicalgroups.blogspot.in>'."\r\n";
$headers .= 'X-Mailer: PHP v'.phpversion()."\r\n";
$headers .= 'Message-ID:<'.$messageid.'>'."\r\n";
$headers .= 'X-Originating-IP:'.$_SERVER['SERVER_ADDR']."\r\n";
$headers .= 'List-Unsubscribe: <mailto:contact@phptechnicalgroups.blogspot.in>'."\r\n";
$headers .= 'From: php technical group <contact@phptechnicalgroups.blogspot.in>' . "\r\n";
$headers .= 'Bcc: <nayakr.bikash@gmail.com>' . "\r\n";
$headers .= 'Reply-To: php technical group <no-reply@phptechnicalgroups.blogspot.in>' . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary\"\r\n";
//Create Email Body (HTML)
$message = "--$mime_boundary\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html>\n";
$message .= "<body>\n";
$message .= $maildescription;
$message .= "</body>\n";
$message .= "</html>\n";
$message .= "--$mime_boundary\n";
$mime_boundary = "----php technical group----".MD5(TIME().$id.TIME());
$additional ='webmaster@phptechnicalgroups.blogspot.in';
$messageid = $_SERVER['REQUEST_TIME'] . md5($_SERVER['REQUEST_TIME']) .$id. '@' . $_SERVER['SERVER_NAME'];
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= 'Return-Path: Intel Network Builders <no-reply@phptechnicalgroups.blogspot.in>'."\r\n";
$headers .= 'X-Mailer: PHP v'.phpversion()."\r\n";
$headers .= 'Message-ID:<'.$messageid.'>'."\r\n";
$headers .= 'X-Originating-IP:'.$_SERVER['SERVER_ADDR']."\r\n";
$headers .= 'List-Unsubscribe: <mailto:contact@phptechnicalgroups.blogspot.in>'."\r\n";
$headers .= 'From: php technical group <contact@phptechnicalgroups.blogspot.in>' . "\r\n";
$headers .= 'Bcc: <nayakr.bikash@gmail.com>' . "\r\n";
$headers .= 'Reply-To: php technical group <no-reply@phptechnicalgroups.blogspot.in>' . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$mime_boundary\"\r\n";
//Create Email Body (HTML)
$message = "--$mime_boundary\n";
$message .= "Content-Type: text/html; charset=UTF-8\n";
$message .= "Content-Transfer-Encoding: 8bit\n\n";
$message .= "<html>\n";
$message .= "<body>\n";
$message .= $maildescription;
$message .= "</body>\n";
$message .= "</html>\n";
$message .= "--$mime_boundary\n";
$mailsent = mail($to_address, $subject, $message, $headers,'-f'.$additional);
return ($mailsent)?(true):(false);
}
Hopefully it will help you , thank you!