Want to send a newsletter but mind big newsletter providers? Want to write your newsletters in Markdown and apply a fancy template on them? Moreover, want to do that from the command line?
Then Nele is the right choice for you!
- Create Beautiful emails - which look great in HTML and plaintext
- Personalize Emails with the power of Jinja Templates
- Create custom HTML layouts
- Write emails in Github-flavoured Markdown
- Use any SQLite database as backend (more backends open an issue)
TODO: image - markdown in editor / HTML email in Thunderbird / plain text in thunderbird
Nele is not limited to Newsletters - it can also be used to send emails to all (or some) members of your community, group or society.
-
Change the directory to where you want to store your newsletters
cd newsletters/
-
Download the example configuration
wget https://raw.githubusercontent.com/raphiz/nele/master/example/nele.yml
-
Edit the configuration and adapt it to your needs - you must at least edit sender and source. Check out the configuration section for details.
vim nele.yaml
-
Time to create your template. In the example config, it is called
template.html
. You can also download an example template to get started.wget https://raw.githubusercontent.com/raphiz/nele/master/example/template.html
-
Create your first newsletter! To get started, you can use a template as well (or checkout the configuration section). This template defines an attachment. Delete the attachment section if you don't want it or download the example pdf as well.
wget https://raw.githubusercontent.com/raphiz/nele/master/example/mail.md wget https://raw.githubusercontent.com/raphiz/nele/master/example/demo.pdf
-
Ready to try it out? Test it before you send it to everyone using the draft method. The second parameter is the receiver
nele draft mail.md YOUR@EMAIL.com
-
Everything good? If so, you can easily send it to everyone.
nele send mail.md
- We currently only supported SQLite as a backend. Create an issue if you need something else
- The configuration file and frontmatter headers are not yet validated
- Newsletters should always provide a way to unsubscribe. Nele has no such functionality. You could for example mention in the footer, that users can unsubscribe by replying to this email.
email:
# Relative path to the template to apply to you emails
template: template.html
sender:
# Your SMTP configuration
host: smtp.example.com
ssl: false
starttls: true
user: foo@example.com
# This value will be set in the FROM header in the email
sender: My Newsletter <foo@example.com>
source:
# The backend - currently SQlite is the only choice
provider: sqlite
# Relative path from this file to the SQlite database
url: db.sqlite
# The query on the database to get all names and emails
# Note that you *must* have a field called `email`
query: SELECT * FROM users;
draft:
# You can specify any key: value pairs here.
# This is used when you run `nele draft` as an example record instead
# of querying the database
name: John
custom_param: Foo
email: baa@example.com
On top of every markdown newsletter, you must provide the frontmatter header.
---
# Subject is always required
subject: "[My Newsletter] (2016/1): Hello World."
# You can provide a list of attachments here (paths are relative to THIS file)
attachments:
- my.pdf
- image.png
---
*Hello World*
This is a fancy email!
Feel free to open new issues, submit pull requests or send me an email. I would love to hear from you.
bumpversion release
- Make a new dev release
bumpversion minor --no-tag
- Push to github
git push && git push --tags