django-amazon-ses
django-amazon-ses copied to clipboard
Differences with django-ses?
Since there are now two different SES backends it would be good to document the differences so users can make an educated choice.
See https://github.com/django-ses/django-ses
Seems to rely on boto3 while djago-ses relies on boto 2. Boto 2 is being phased out and new development happens only on boto3 I believe.
Not sure if that's still relevant to you, but as I'm asking myself the same question at the moment, I thought it might be helpful for someone to put together a list about the differences I identified:
- django-ses relies on boto 2 (while boto 3 is now recommended) - but there is boto 3 compatible code available in https://github.com/django-ses/django-ses/issues/78#issuecomment-173576874, however, not yet as a proper release
- django-ses might have issues with Python 3.4 (which could be a problem if you want to run on AWS Elastic Beanstalk like me, since Python 3 on AWS Elastic Beanstalk currently means 3.4...) - https://github.com/django-ses/django-ses/issues/81, again it's fixed but not release yet, it seems.
- django-ses takes into account SES throttling to avoid getting over the send threshold (useful to avoid problems, I guess - maybe boto 3 does that automatically?)
- django-ses supports DKIM (DomainKeys Identified Mail), which is something I'd probably like to use (http://docs.aws.amazon.com/ses/latest/DeveloperGuide/dkim.html)
- django-ses offers an admin view wish statistics
- django-amazon-ses sends signals before and after sending mails
While overall, I would prefer django-ses, I might go with django-amazon-ses for now due to the better Python 3 and boto 3 support.
I believe DKIM can be configured on the SES dashboard, no need to have support on the library side anymore. Also the admin view, you can get similar functionality on the SES dashboard.
Not using it at the moment, so I might be wrong, but I see no reason to wait for the boto 3 upgrade on django-ses anymore when this package has already done that and you can find alternatives to the extra functionality provided by django-ses as I mentioned above.
@rubendura Thanks! Yes, I agree that DKIM should work with both packages and statistics are not really important to me at this stage anyway, but SES also offers a dashboard as well.
However, I do like the throttling feature, but for the moment I've installed django-amazon-ses.
You cannot use IAM roles as authentication method with django-ses (because boto does not support AWS_SESSION_TOKEN), so you cannot use with e.g. AWS Lambda.
- django-ses cannot be used with ses in eu-central-1 (due to some problems with boto2 i think)
- django-amazon-ses requires more dependencies and results in larger image
Seems to rely on boto3 while djago-ses relies on boto 2. Boto 2 is being phased out and new development happens only on boto3 I believe.
django-ses uses boto3 now : https://github.com/django-ses/django-ses/pull/183
django-ses needs ses:GetSendQuota
permission in addition to ses:SendEmail
and ses:SendRawEmail
: https://github.com/django-ses/django-ses/issues/85