Skip to content

No Error when message fails due to no data #2

Description

@tomfotherby

Here is a test case:

    // Set a valid domain key
    Apostle::setup("valid-key-entered-here");

    // Create a mail instance. Ensure the mail template used doesn't need any data
    $mail = new Mail( "welcome", ["email" => "tom@example.com" ] );

    // Send to Apostle.io
    $result = $mail->deliver($failureMsg);

    echo $result ? "all ok" : "Something failed: $failureMsg\n";

It prints "all ok".

There are 3 problems happening:

  1. The message fails to be delivered even though it's valid.
  2. The delivery returns true, but should be false.
  3. The apostle.io web-console shows the wrong delivery failure message.

The apostle.io web-console shows the following reason for failing:

Failed to hydrate template, check your template and data variables match

However this isn't a true error message because my "welcome" template (which I edited from the demo) doesn't have any template variables.

If you thern add any data item, even if the template doesn't need any, the mail will send ok.

    $mail->anythinghere = "any value";

So it seems apostle needs some data, even if not used, before it'll send.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions