django-amazon-ses icon indicating copy to clipboard operation
django-amazon-ses copied to clipboard

Differences with django-ses?

Open Bartvds opened this issue 7 years ago • 8 comments

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

Bartvds avatar Apr 07 '17 14:04 Bartvds

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.

rubendura avatar Apr 07 '17 15:04 rubendura

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.

goetzb avatar Aug 11 '17 10:08 goetzb

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 avatar Aug 11 '17 13:08 rubendura

@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.

goetzb avatar Aug 11 '17 14:08 goetzb

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.

csdenboer avatar Jun 06 '19 13:06 csdenboer

  • 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

TychoVrahe avatar May 18 '20 06:05 TychoVrahe

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

trecouvr avatar Jun 25 '20 09:06 trecouvr

django-ses needs ses:GetSendQuota permission in addition to ses:SendEmail and ses:SendRawEmail : https://github.com/django-ses/django-ses/issues/85

forzagreen avatar Aug 01 '22 14:08 forzagreen