List-unsubscribe header not working in sendgrid Mail object in php

247 views Asked by At

I am trying to send List-unsubscribe header while sending email using sendgrid Mail object with PHP. https://github.com/sendgrid/sendgrid-php

Somehow its not showing unsubscribe link in email header. Here is my sendgrid email object which I am passing to send the email.

SendGrid\Mail\Mail Object ( [from:SendGrid\Mail\Mail:private] => SendGrid\Mail\From Object ( [name:SendGrid\Mail\EmailAddress:private] => Test User [email:SendGrid\Mail\EmailAddress:private] => [email protected] [substitutions:SendGrid\Mail\EmailAddress:private] => [subject:SendGrid\Mail\EmailAddress:private] => )

[subject:SendGrid\Mail\Mail:private] => SendGrid\Mail\Subject Object
    (
        [subject:SendGrid\Mail\Subject:private] => Test Subject
    )

[contents:SendGrid\Mail\Mail:private] => Array
    (
        [0] => SendGrid\Mail\Content Object
            (
                [type:SendGrid\Mail\Content:private] => text/html
                [value:SendGrid\Mail\Content:private] => 

Test Email )

    )

[attachments:SendGrid\Mail\Mail:private] => 
[template_id:SendGrid\Mail\Mail:private] => 
[sections:SendGrid\Mail\Mail:private] => 
[headers:SendGrid\Mail\Mail:private] => 
[categories:SendGrid\Mail\Mail:private] => 
[custom_args:SendGrid\Mail\Mail:private] => 
[substitutions:SendGrid\Mail\Mail:private] => 
[send_at:SendGrid\Mail\Mail:private] => 
[batch_id:SendGrid\Mail\Mail:private] => 
[asm:SendGrid\Mail\Mail:private] => 
[ip_pool_name:SendGrid\Mail\Mail:private] => 
[mail_settings:SendGrid\Mail\Mail:private] => 
[tracking_settings:SendGrid\Mail\Mail:private] => 
[reply_to:SendGrid\Mail\Mail:private] => 
[personalization:SendGrid\Mail\Mail:private] => Array
    (
        [0] => SendGrid\Mail\Personalization Object
            (
                [tos:SendGrid\Mail\Personalization:private] => Array
                    (
                        [0] => SendGrid\Mail\To Object
                            (
                                [name:SendGrid\Mail\EmailAddress:private] => Test User
                                [email:SendGrid\Mail\EmailAddress:private] => [email protected]
                                [substitutions:SendGrid\Mail\EmailAddress:private] => 
                                [subject:SendGrid\Mail\EmailAddress:private] => 
                            )

                    )

                [ccs:SendGrid\Mail\Personalization:private] => 
                [bccs:SendGrid\Mail\Personalization:private] => 
                [subject:SendGrid\Mail\Personalization:private] => 
                [headers:SendGrid\Mail\Personalization:private] => Array
                    (
                        [List-Unsubscribe] => mailto:[email protected], unsubscribe_url
                    )

                [substitutions:SendGrid\Mail\Personalization:private] => 
                [dynamic_template_data:SendGrid\Mail\Personalization:private] => 
                [has_dynamic_template:SendGrid\Mail\Personalization:private] => 
                [custom_args:SendGrid\Mail\Personalization:private] => 
                [send_at:SendGrid\Mail\Personalization:private] => 
            )

    )

)

This is my php code to send the email:

                $email = new \SendGrid\Mail\Mail(); 
                $email->setFrom("from_email_address", "from name");
                $email->setSubject("subject");
                $email->addTo("to address", "to name");
                $email->addContent("text/html", "html message");
                $email->addContent("text/plain", "plain text message");
                
                $email->addHeader('List-Unsubscribe', 'mailto:[email protected], unsubscribe_url');
                
                $sendgrid = new \SendGrid(SENDGRID_API_KEY);
                try {
                    $response = $sendgrid->send($email);
                    $responseArr = array();
                    $responseArr = $response->headers();
                    echo "<pre>";
                    print_r($email);    exit;                   
                    
                    
                } catch (Exception $e) {
                    echo 'Caught exception: '. $e->getMessage() ."\n";
                }

Can anyone suggest what I am making wrong here or anything is missing?

Thanks

0

There are 0 answers