I wish to further my code contributions past existing core and contrib patches (6 patches contributed to Drupal 7), and contribute some of my own custom modules for further reuse and community adoption and support.
The to-be-attached amazon_ses module enables Drupal to send email using the new Amazon Simple Email Service. There is no existing project for this since it was released on January 25. I believe this functionality deserves its own module, in a similar way that SMTP module does the exact same. This module does leverage the existing "creeper" module for Amazon SDK support, which I have upgraded to Drupal 7 (patch forthcoming, currently testing here: https://github.com/rypalmer/creeper).
I have written this module party due to an interest in Amazon AWS and partly for Parliamentary Monitoring Group in South Africa (PMG.org.za) as they send a lot of email using their Drupal site and have simply outgrown their existing solutions. I am storing this module temporarily on Github while we test internally (and the CVS application is still pending):
https://github.com/rypalmer/amazon_ses
There is a working demo in place here, but I'm not sure how best to demonstrate this without opening myself up for being a target for spam:
Thank you for your consideration.
| Comment | File | Size | Author |
|---|---|---|---|
| #14 | amazon_ses_error.png | 65.41 KB | halstead |
| #1 | amazon_ses-2011-01-28.tar_.gz | 4.28 KB | Ryan Palmer |
Comments
Comment #1
Ryan Palmer commentedamazon_ses module attached.
Comment #2
Ryan Palmer commentedComment #3
Ryan Palmer commentedComment #4
ldweeks commentedSweet! Will this module be D7 only, then?
Warmly,
Lucas
Comment #5
Ryan Palmer commentedNo, in fact the PMG site is D6 so I'll post a backported version sooner rather than later. I thought it would be best to start cleanly with D7.
If anyone wants to create an account on the test site to test the back-end (someone already did), I'm all for that, although I will have to scrub out my AWS credentials first :(
Comment #6
jtbayly commentedThat was me, Ryan. I figured I could pseudo-test it just by requesting an account and getting the confirmation email. I don't really want an account. I put in an sbcglobal.net address, which is notorious for emails not getting through the spam filter. I got the email, so that's a real positive indication in my book. I guess it says more about Amazon SES, than about your module, but I can't wait to get this running on our sites. Thanks for the work.
Comment #7
Ryan Palmer commentedYeah its really great eh! Except that it looks like AmazonSES wasn't actually turned on when you registered haha. It was turned off while I was testing the .install file.
User registration emails don't actually work right now because my Amazon SES account is still "sandboxed", and as such I can only send mail to email addresses I've "verified":
http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup...
When the switch is "On", I do get the admin emails from the site, from Amazon SES, notifying me of a new user registration. So it works great (really really fast), but if you register right now you won't actually get a confirmation email, or at least until my Sandbox-to-Production request is granted.
If anyone wants me to pre-verify their email address and thus get the confirmation email while Sandboxed, I'd be more than happy to do that. Thanks for the feedback!
Comment #8
Ryan Palmer commentedMinor update: Amazon has moved me into production, you can now register here and get a test email message:
http://ses1.resonancedev.net/user/register
Comment #9
SeanBannister commentedJust noticed another user applying for CVS access with a similar module, maybe you could both work together http://drupal.org/node/1042456
Comment #10
zugaldia commentedHi Ryan, it seems we submitted the same thing with only a 24 hours difference :) Are you up to merge the two things?
Comment #11
Ryan Palmer commentedHi! Yep it seems we are on very similar tracks eh. I am 100% open to having a co-maintainer for this module.
May I suggest we proceed with what I have in Github? Based on the feedback I've seen I think mine is a bit closer to being ready for prime time. What do you think?
Comment #12
zugaldia commentedI'd rather work in Drupal's CVS as I'd prefer to follow the community's recommendation. In any case, absolutely, I'd be more than happy to work together on this, and in github if the CVS thing takes time.
Comment #13
Ryan Palmer commentedOh absolutely it would be hosted on Drupal.org. What I meant was using mine as a starting point.
Comment #14
halstead commentedI finally found time to test today.
First I installed a fresh copy of Drupal 7 using the standard profile.
I then followed these steps,
Then I enabled Amazon_SES on the modules page and visited http://localhost/d7/admin/config/system/amazon_ses to be greeted by "Fatal error: Class 'AmazonSES' not found in /var/www/d7/sites/all/modules/amazon_ses/amazon_ses.admin.inc on line 126" (Backtrace screen cap attached.)
So I figured maybe creeper needed to be configured and visited http://localhost/d7/admin/config/creeper which displayed "Warning: Parameter 1 to creeper_admin_settings() expected to be a reference, value given in drupal_retrieve_form() (line 771 of /var/www/d7/includes/form.inc)."
After this I re-read both the amazon_ses and creeper READMEs but I didn't see any steps I had missed.
What shall I do next to continue testing?
Comment #15
Ryan Palmer commentedThanks for taking a look.
The SDK needs to be fetched from a different location -- the github repo is way out of date, and I forgot to fix this in the creeper README when I upgraded it. I've committed the change to Github.
https://github.com/rypalmer/creeper/commit/b31f6f7479be5e4edef44e3028b4c...
Comment #16
halstead commentedI've pulled the changes to creeper and followed the new README directions.
http://localhost/d7/admin/config/system/amazon_ses
Now prints two errors,
http://localhost/d7/admin/config/creeper
Still displays an empty page with this error
Warning: Parameter 1 to creeper_admin_settings() expected to be a reference, value given in drupal_retrieve_form() (line 771 of /var/www/d7/includes/form.inc).
Do you get these errors on a test install? What next?
Comment #17
caugmar commentedHi! Really nice module. What would be needed to make it work with D6?
Comment #18
Ryan Palmer commentedHalstead, the first error was due to the request object returning an error, likely because you weren't fully configured at that point. I'm now checking its status before diving into the object. The pass-by-reference warning for Creeper should be fixed now, too. Both have been committed to Github.
Comment #19
Ryan Palmer commentedA new project application has been created here: #1072608: [D7] Amazon SES
Comment #20
arianek commentedHi. Please read all the following and the links provided as this is very important information about your CVS Application:
Drupal.org has moved from CVS to Git! This is a very significant change for the Drupal community and for your application. Please read the following documentation on how this affects and benefits you and the application process:
Migrating from CVS Applications to (Git) Full Project Applications
Comment #21
Ryan Palmer commentedThe new sandbox project is available here: Amazon SES
Comment #22
berdirI think either this or #1072608: [D7] Amazon SES should be marked as duplicate of the other one. I'd suggest keeping this open because of the comment history.
Comment #23
zugaldia commentedI also have an open CVS application for a similar module (#1042456: Amazon SES - co-maintainership request). As discussed with Ryan in this thread, we are happy to be co-maintainers of the module.
The git sandbox project has already been created so I don't see necessary to create another one. Can we go ahead with this project and both be set up as maintainers?
Comment #24
zzolo commentedI have commented on @zugaldia's application about how to apply as a co-maintainer. If it's slow
I have reviewed this project and all the code looks good, sticks to most coding standards, includes documentation, use of t(). Also, it's nice to see collaboration in the application process itself.
Please read the following pages (and sub-pages) about Git usage and Drupal best practices:
http://drupal.org/documentation/git
http://drupal.org/node/360052
Comment #25
zugaldia commentedHi Ryan, can you add the issue to set me up as co-maintainer? Thanks.
Comment #26.0
Ryan Palmer commentedRedacted
Comment #28
avpadernoI am giving credits to the users who participated in this issue.
Comment #29
avpaderno