Comments (9)
One potential problem is that the v3 API is only documented to support API-key authentication. At least some Anymail SendGrid users are still on username/password auth (see #9), which apparently only works with the v2 API.
from django-anymail.
What about creating a new backend sendgrid_v3 and use the sendgrid official library.
This way users can migrate to v3 with anymail more easily.
If using login/password then use the old backend else use the v3 backend
from django-anymail.
Yeah, I think that's the best approach. I'm hoping to avoid supporting two different SendGrid APIs indefinitely, but it'll help smooth the transition.
Since v3 is the future, I'm leaning toward renaming the current v2 backend to something like SendGridV2, and making just plain "SendGrid" use v3. (It can warn if it detects attempts to use v2-only features like username auth.) It's a breaking change for the next Anymail release, but deprecating v2 implies a breaking change sooner or later, and sooner is probably better.
Also, it looks like there's now documentation on using SendGrid API keys on Heroku. Since Heroku's integration was the source of the earlier username/password-auth request (#9), hopefully that's no longer an issue for those users.
from django-anymail.
What's the timeline look like for this?
from django-anymail.
@digitaldavenyc I'm hoping to get to SendGrid v3 shortly after the new year. (The fix for the ugettext_lazy issue in #34 might involve a deep change in the base backend, so I want to get that worked out before developing any new backends.)
from django-anymail.
Quick status update: this code is complete and merged into master. I'm just waiting for clarification from SendGrid on an API issue before releasing it (and the rest of Anymail v0.8).
from django-anymail.
Awesome work 👍
from django-anymail.
... still waiting to hear back from SendGrid on that API issue. If I don't get a response soon, will probably need to back this out so I can release the remainder of Anymail v0.8.
from django-anymail.
OK, SendGrid has sorted out the v3 API issue, and I've released Anymail v0.8 with this code. Thanks for your patience.
from django-anymail.
Related Issues (20)
- Add support to Resend.com HOT 5
- Handlebars variables not substitued in mandrill templates HOT 1
- mailgun api key HOT 2
- Merging/Combine ESP Options get lost/overwritten HOT 2
- parse_address_list: Inability to Parse Email Addresses with Special Characters in Display Name Without Double-Quote Encapsulation HOT 1
- Mailjet Open tracking? HOT 4
- Inaccuracy in documentation about Brevo's behaviour HOT 2
- Feature request: Mailtrap HOT 4
- Resend: confusing ReadTimeout error for incorrect API key
- Add support to Unisender Go HOT 2
- Support Brevo batch sending with merge_data HOT 2
- Add batch sending support for Resend HOT 1
- Mailgun webhooks: AttributeError 'NoneType' object has no attribute 'get' HOT 1
- boto3 sesv2 client does not have method 'send_email'. Check AmazonSESV2SendEmailPayload HOT 4
- Bad UTF-8 "To" header encoding? HOT 8
- Tests fail with error "AppRegistryNotReady: Apps aren't loaded yet"
- Tests fail with error "django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet" HOT 4
- New feature: per-recipient merge_headers
- Amazon SES: support extra_headers, metadata, tags for template sends
- Brevo `trace_clicks` and `trace_opens` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-anymail.