Giter Site home page Giter Site logo

llazyemail / amazon-ses-service Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 3.0 12.94 MB

License: BSD 3-Clause "New" or "Revised" License

JavaScript 81.25% HTML 16.95% Dockerfile 0.02% CSS 0.59% Python 0.61% Shell 0.14% SCSS 0.09% Pug 0.18% EJS 0.16% Procfile 0.01%
email ses amazon-ses

amazon-ses-service's Introduction

Mail for Good

Join the chat at https://gitter.im/FreeCodeCamp/mail-for-good

Please be aware that Mail for Good is currently in beta.

Looking to contribute? Read our developer setup guide.


Image showing Mail 4 Good

An app for sending millions of emails as cheaply as possible. Mail for Good uses AWS Simple Email Service to send bulk emails at $0.10 per 1000 emails.

Mail for Good is fast and memory efficient, currently sending over 100 emails per second on a 1gb Digital Ocean VPS.

We've used Mail for Good to deliver newsletters to hundreds of thousands of campers per week.

Sounds good? Give it a try!

Deploy

"My instance is deployed, what now?"

In setting_up.md you'll find how to connect, create your admin account and set up your AWS credentials allowing you to send your first blast.

What does Mail for Good do?

With Mail for Good you can:

  • Send email campaigns of unlimited size.
  • Import emails saved in CSV format.
  • Create templates to reuse for convenience when sending email campaigns.
  • Track bounce rate and other standard metrics. You can also insert tracking pixels and unsubscribe links at the click of a button.
  • Add custom fields to imported email lists such as names or cities.
  • Grant other users (limited or otherwise) permissions to use your account on your behalf.
  • Add embedded HTML newsletter sign up forms to your site. These are snippets of code that will let your users sign up with you at the click of a button.

Performance

We're currently sending weekly email blasts of over 800,000 emails in 4 hours on a $10 per month Digital Ocean VPS with 1 GB memory and 1 core processor.

Mail for Good is fast and scales to the rate limit enforced by AWS.

Why are we doing this?

We want to help nonprofits manage their email campaigns as inexpensively as possible, and have full control over their data.

How to install locally

local deployment guide.md.

Troubleshooting

We're keen to tackle any issues people encounter. If you experience any problems, please create an issue and we'll get back to you.

How to contribute

Found a bug? Please let us know by creating an issue.

We warmly welcome contributions from anyone. Check out our how to contribute section to find out how you can do so.

License

Copyright (c) 2018, freeCodeCamp.

This computer software is licensed under the BSD-3-Clause.

Arthur Tkachenko articles

amazon-ses-service's People

Contributors

4iar avatar andrewwalsh avatar atherdon avatar carljkashnier avatar dakotav6 avatar danbovey avatar dhuang612 avatar gitter-badger avatar ishtms avatar jimmy1134 avatar jmcilhargey avatar joel-bentley avatar karuppiah7890 avatar lmesz avatar lukecamelo avatar namansachdeva avatar nrgwsth avatar quincylarson avatar raisedadead avatar ratracegrad avatar renovate-bot avatar sanspace avatar saurabh30 avatar stuartstephens avatar sumitvgithub avatar vadim9999 avatar vineelsai26 avatar wadleo avatar zaynmalloc avatar zhakk-harn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

amazon-ses-service's Issues

Time tracking (updating)

35m - videos
15m - registration accaunt (19,20)
3h 20m - videos and test an email from ses (21.03.2020)
25m - call (22.03.2020)
1h - add sending html (27.03.2020)
30m -call
total - 6h 5m

20m - call (29.03.2020)
total 6h 25m
6h 44m - ses & express (29.03.2020)
total 13h 9m
41m - call (04.04.2020)
total 13h 50m
3h 05m - update server(04.04.2020)
total 16h 55m
3h 37m - move ses object into middleware & refactor & parse html into string
total 20h 32m
30m - call (14.04.2020)
total
21h 02m

1h 22m - docusaurus [invoiced]
total
22h 24m

1h 15m - docusaurus [invoiced]
total
23h 39m

1h 51m - docusaurus (17.04.2020) [invoiced]
Total
25h 30m

1h 38m - docusaurus 18.04.2020 [invoiced]
Total
27h 08m

1h 35m - mailforgood
Total
28h 43m

1h 30m - mailfogood
Total
30h 13m

1h 00m - 22.04.2020 mail for good
Total
31h 13m

2h 13m - mailforgood
Total
33h 26m

0h 52m - mailforgood
Total
34h 18m

0h 20m - call
Total
34h 38m

2h 36m - mail for good
Total
37h 14m

1h 33m - call
Total
38h 47m
1h 34m - move mailfforgood to here, add template

Total
40h 21m

0h 15m - call
Total
40h 36m

2h 50m - adding hacker noon template to mail for good
Total
43h 26m

0h 40m - call
Total
44h 6m

2h 0m - complete adding template & separate it
Total
46h 6m

3h 8m - add ses template & separate it
Total
49h 14m

1h 32m - update mail-for-good-v12
Total
50h 46m

1h 15m - update mail-for-good-v12
Total
52h 1m

1h 16m - update v12
Total
53h 17m

1h 52m - updating v12
Total
55h 09m

5h 34m - updating v12
Total
60h 43m
Bills

4h 0m - updating v12
Total
64h 43m

4h 0m - update
Total
68h 43m

6h 0m - updating v12
Total
74h 43m

1h 0m
Total
75h 43m

24m - call
Total
76h 07m

4h 45m - deploying to heroku
Total
80h 52m

1h 27m
Total
82h 19m

2h 47m - update template & fix cropping email & move mail-for-good to master
Total
85h 6m

2h 21m
Total
87h 27m

1h 16m - adding sponsor block
Total
88h 43m

1h 47m
Total
90h 30m

30m - call
91h 00m

1h 00m - add server nodejs

Total
92h 00m

1h 30m - call
Total
93h 30m

1h 00m -call
Total
94h 30m

4h 27m - fixing routes
Total
98h 57m

1h 44m - complete fixing routings
Total
100h 41m

5h 00m
Total
105h 41m

2h 19m
1h 41m
0h 40m - call
Total
110h 21m

0h 40m - copying envelopes
Total
111h 01m

0h 52m - newsletters
0h 43m
Total
112h 36m

1h 15m
Total
113h 51m

  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 4h of 4h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid
  • 10h of 10h - paid

New rate

1h 43m - meeting
3h 50m

4h 8m
Total
9h 41m

2h 24m
Total
12h 5m

0h 31m
2h 51m
Total
15h 27m

4h 36m
Total
20h 3m

1h 24m
4h 46m
Total
26h 13m

3h 27m
Total
29h 40m

0h 51m
Total
30h 31m

4h 0m
Total
34h 31m

4h 04m
Total
38h 35m

1h 52m
Total
40h 27m

0h 47m
Total
41h 14m

1h 30m

Total
42h 44m

2h 17m
Total
45h 01m

0h 52m
Total
45h 53m

0h 53m - call
Total
46h 46m

1h 22m
Total
48h 08m

2h 38m
Total
50h 46m

1h 32m
Total
52h 18m

1h 04m
Total
53h 22m

0h 40m
Total
54h 02m

10m
Total
54h 12m

1h 10m
Total
55h 22m

1h 24m
Total
56h 46m

2h 21m
Total
59h 07m

1h 02m
Total
60h 09m

2h 21m
Total
62h 30m

1h 21m
Total
63h 51m

2h 49m
Total
66h 40m

2h 46m
Total
69h 26m

2h 43m
Total
72h 09m

2h 25m
Total
74h 34m

3h 45m
Total
78h 19m

3h 40m
Total
81h 59m

1h 55m
Total
83h 54m

1h 41m
Total
85h 35m

1h 18m
Total
86h 53m

3h 35m
Total
90h 28m

1h 34m
Total
92h 02m

1h 00m
Total
93h 02m

1h 19m
Total
94h 21m

1h 9m
Total
95h 30m

1h 43m
Total
97h 13m

1h 45m
Total
98h 58m

2h 02m
Total
101h 00m

2h 40m
Total
103h 40m

1h 22m
Total
105h 02m

0h 46m
Total
105h 48m

0h 33m
Total
106h 21m

0h 09m
Total
106h 30m

1h 03m
Total
107h 33m

2h 27m
Total
110h

10h of 10h - paid
10h of 10h - paid
10h of 10h - paid
10h of 10 paid
10h of 10 paid
10h of 10h paid
10h of 10h paid
10h of 10h paid
10h of 10h paid
10h of 10h paid
10h of 10h paid

mail-for-good node v8

This is the main task that contains separated.

  • create a separate table in PostgreSQL for sponsor block #53
  • move beautiful template into mail for good #50

we need a find a way how to build email templates.

Arthur should explore how we can connect zapier with our nodejs/heroku based server and it should be ready to get data by api call

sponsors block template

  1. move out part, related to sponsor logo image path.
    so instead of <img src="http://...." it will be <img src="{variable}"

a) it should be the same code, the same path, just separated
b) move this variable to the outside of your method
c) can we change the path? like use some image, like "placeholder kitten" URLS?

  1. use image that located inside of your repo
    will it work or now - nobody knows.
    But you also can test it with hackernoon logo. as it will be always the same - we can grab it from the projects "assets" folder

[stupid idea]

V: https://sesservice.herokuapp.com/

вот короче работает get запрос hello world

A: а какой route для отправки имейла

V: также работает post запрос

нормалды

91129224_213402733093649_1944264113588797440_n

https://sesservice.herokuapp.com/email/send-templated

мож нам надо урл который будет делать пост
не ну то пост
я имею ввиду давай сделаем url, чтобы я из бразуера мог постать дефолтное письмо
тоесть get который будет запускать post
пойду спать - чето я уже тупой

тогда нужно передавать данные в ссылке а не в body
может какой-то сервис найти который делает post запросы онлайн?

типо fake api 😆😆

теперь то ты понимаешь зачем он нам нужен

смори а почему ты, со своего сервера не можешь послать на свой же сервер

ну типо а чо - call он и в африкуе call

axios.post('api/tobackend/function',{user:'a',password:'b'})
     .then((res)=>console.log('response from server'))

https://gist.github.com/wmora/5087193

то есть поставить axios и перенаправить на c get на post?

ну а чо бы и не
для тестовых purposes

  • можно асинхронно запилить
    ушел
    прчем сделай так - чтобы работало и когда на хероку и когда на локалке

91178567_233643021354374_1554594761753493504_n

короче сделал костыль
через axios и тот что вверху ссылка не сработали методы
пришлосб на запрос гет вызвать роут передав определённые параметры
https://sesservice.herokuapp.com/email/send-templated?addresses=[%[email protected]%22]
https://sesservice.herokuapp.com/email/send?addresses=[%[email protected]%22]
вот короче
я в документации тоже написал
короче json parse выкидывает ошибку которую нужно будет пофиксить

GeoIP2-City-Europe - odd results

Hi there,

we recently purchased the MaxMind GeoIP2-City-Europe database but getting pretty bad results for europe.
We are using the PHP-method (it says installed), but it can't determine my own ip address. Even the other found locations look some kind of odd.

According to this provider, your current location is:
Unknown Refresh
Note: This GeoIP implementation has access to the following types of databases: City, Country.

While the MaxMind Precision Demo correctly determines my location in Germany.

The GeoIP2-City-Europe.mmdb was correctly extracted into the /misc directory using the automatic url download option with the following url:

https://download.maxmind.com/app/geoip_download?edition_id=GeoIP2-City-Europe&suffix=tar.gz&license_key=<key>

What are my options to check if all settings are correct?

Best regards,
Sven

be able to curate a title from a file similar to config.

more stuff we'll have when will work on templates, so we don't require any complex solutions right now

maybe we can go further, because soon or later we'll need to have some sort of additional data, that we will import into our emails.
for example - unsusbsribe link, or links to social media. i think separated json file will work for us perfectly

display data from item on template

I think we should update this task.
Description is pretty easy. We have template that looks cool and fancy. But stories inside are static.
And we have a separated email that grab data from JSON file and print them in a loop.

In result, we should have a pretty looking good template with data from JSON file

Check these samples and decide what we can grab from it in order to start quickly

Bugs or things needs to fix

  • In updated mail for good v12 we haven't authentication to pages.
  • when created database and startup server we get server error but on the second start it's ok and working fine.
  • can't find out which version of font awesome using admin lte
  • bug when clicking on create a campaign in sidebar page doesn't load need to refresh page (F5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.