Amzone SES not working

Winston

New Member
can's seem to get the Amazone webapi working . followed the tutorial ste; by step.

chose Amazone webapi when createinmg a new delivery server.
my user name is AKIAJVEJK.........
i also created a pasword for the user created as show in the video
As hostname i took email-smtp.us-west-2.amazonaws.com

I also dont see an option to fill in the api key.

this is the error transcript
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
The Canonical String for this request should have been
'POST
/
host:email.us-west-2.amazonaws.com
x-amz-date:20150909T103950Z
host;x-amz-date
e3c86e39013b794946d8674869a4697685e052fcaf32c3aad9d41c9d334a7c94'
The String-to-Sign should have been
'AWS4-HMAC-SHA256
20150909T103950Z
20150909/us-west-2/ses/aws4_request
3943e25d96f25455b2ae10908a7390d3225daa980aa1f5b7847e609062ad879d'

what can i do ?
 

Winston

New Member
you wrote to dan o shea regarding this problem "and then use the newly generated keys into mailwizz"
were can i insert the kyes i only see a username
 

Winston

New Member
i found and it seems to skip that error but now i am getting:
  • Identity info@[domain] is invalid. Must be a verified email address or domain.
but my email address is in the verified email list
 

twisted1919

Administrator
Staff member
Identity info@[domain] is invalid. Must be a verified email address or domain.
This message comes directly from the amazon servers, so it's either you are using a wrong region in mailwizz or your email address is not verified. You should check both and make sure the email address is verified for the region you use inside mailwizz.
 

Nghi

New Member
Hi twisted1909
It could be an issue that Mailwizz always requires a verified email address when using Amazon SES. This is not correct because we can use a verified domain instead. i.e. once you have verified a domain with Amazon SES, you can send from any address within that domain and you do not have to verify every individual email. Could you please provide a fix for this?

For your reference, this is the message from Amazon SES I received after successfully verifying a sending domain:
Congratulations! The Amazon SES verification process for the domain blabla.com in region US West (Oregon) is now complete. You are now able to send email through Amazon SES from any address within this domain. For more information, please refer to the Amazon SES Developer Guide.

Thank you for using Amazon SES.
 
Last edited:

twisted1919

Administrator
Staff member
Hi,

I am aware of the domain validation step, but we can't detect that from mailwizz, so i am really not sure how to go about this at this point in order to keep compatibility. For now your best bet is still using a verified email address.
 

Nghi

New Member
I've made a quick-and-dirty fix for the problem: use domain as Identity instead of email address. For example, replace
$this->getSesClient()->setIdentityFeedbackForwardingEnabled(array(
'Identity' => $this->from_email,
'ForwardingEnabled' => true,
));
With
$this->getSesClient()->setIdentityFeedbackForwardingEnabled(array(
'Identity' => substr(strrchr($this->from_email, "@"), 1), // extract domain from email
'ForwardingEnabled' => true,
));
This is because 'Identity' can accept either email address or domain name as suggested in AWS docs: http://docs.aws.amazon.com/ses/latest/APIReference/API_SetIdentityFeedbackForwardingEnabled.html

Please consider this in the next release of Mailwizz. And you may need to change the "Add Delivery Server" form for Amazon SES Web API to allow user to enter verified domain.
 

twisted1919

Administrator
Staff member
@Nghi - Thanks for the info.
In your code you enable forwarding, why is that? Mailwizz creates and handles the sns topic automatically, so is there any particular reason ?
 

Nghi

New Member
I did not actually understand what the setting meant and why it was there. I just tried to fix the Amazon SES verification issue by replacing email address with a domain name for the "Identity" parameter. Again, this is just a quick-and-dirty fix for my own purpose, Mailwizz should detect available verified domains from Amazon SES and use one of those for sending (the one that matches the From email address provided by user). It should only raise an error when the provided email address does not match any verified domain.
 

Nghi

New Member
One more thing with Amazon SES: it seems that Mailwizz always disregards the From email address provided by user when creating a campaign, it always uses the default one for the delivery server. Could you please take a look?
 

twisted1919

Administrator
Staff member
@Nghi - This is the exact problem, with amazon ses the email in the FROM has to be verified in order for amazon to allow sending.
This gets us back to the domain verification thing. Even if you verify your domain and mailwizz will allow you, when a campaign is sent with custom from set from campaign itself, then delivery will fail miserably.
 

Nghi

New Member
@twisted1919, I think we should anyway respect custom From header and somehow handle this for users. I understand this is something that is very annoying to fix because mail sending occurs in the background and may be balanced between different delivery servers. Look forward to a solution in the future release.
 

Aron Prins

Member
Sorry to be repetitive, but this means i can't allow my users to send "From their own email" with SES?

Cheers,
Aron
 

twisted1919

Administrator
Staff member
@Aron Prins - This is correct, unfortunately. You need to add their email in Amazon then create a delivery server for that email address, this is the only way it will work.
 
Top