html-emailemail-clientimage-load

Detect image rendering in email


I know that services like SendGrid already have built-in plugins for this. But I want to build my own, custom, module for this.

Reason why I am doing this is my application uses several different smtp servers specified by user.

Is it even feasible to create one module for different smtp servers?


Solution

  • Absolutely! It's relatively simple too, at the most basic level you do the following:

    A more concrete example in PHP would look something like:

    Mail Sender:

    $img = '<img src="https://example.com/img.php?id=' . generate_email_id() . '">';
    mail("test@example.com", "This is a test.", "Hello! I hope this test works!" . $img);
    

    img.php:

    log_email_by_id($_GET['id']);
    header("Content-type: image/jpeg");
    readfile("pixel.jpg");