Beat big tech censorship by making your own email list CMS
Published:By: Kevin from CyberHavenProgramming.com
Current censorship problems
Email, one of the most common and low tech ways of communication, is under attack. How so? MailChimp, an email list building and sending service, recently kicked Alex Jones off their platform, along with a whole bunch of other companies at the same time. Love him or hate him, he is not the issue here. Censorship is, and it's a giant problem in the USA right now. Here's some proof with Project Veritas obtaining proof of censorhsip, and Twitter responds with attacking the messenger. Project Veritas has a lot more of this proof too.
And since MailChimp has already banned Alex from sending emails from their platform, along with the arrogance and obvious censorship shown by the videos above, it makes me wonder when will email host companies start getting the nerve to jump on the bandwagon, and outright “forget to deliver your messages” to people they disagree with, because you were flagged from all they data they collect on you for having a different opinion. So love him or hate him, if they can ban him, they can ban you, and steps have to be taken to end this injustice NOW.
Why censorship is bad
Let's say you got accused of something you didn't do. Let's use rape as an example. Now imagine that censorship was so bad that you weren't even allowed to speak up when people accused you of it, but they got to barf up lies about you on every news network in the world. Obviously, that's wrong because it would:
- Ruin your name,
- Ruin your reputation,
- Ruin your chances to get hired in the future,
- Ruin how people treat you – some might even want to kill you from the lies they heard,
- And if your character assassination even went so far that your accuser took you to court without any evidence or proof, if you're like the average American: You probably don't know how to defend yourself in court, and you'd most likely become financially destroyed because of it. Although, judicial solutions are another story I might speak of in the future, but let's stay on topic.
What you can do about this
First, you can BOYCOTT COMPANIES WHO WORK AGAINST YOU. For the purpose of this post it's Facebook, Google / YouTube, and Twitter. Stop supporting them in every way possible. Let them go in debt and fail. Without you and your support THEY ARE NOTHING. Remember that they need your money to survive. Without you, they depend on money from big donors, or going into debt to stay afloat. So let them throw their money in the fire.
It's time to stop being dependent on, and to leave the digital ghetto's of these places as your main hubs for getting information. If you need to use any mainstream services to a point: Be very critical of anything they want you to believe. But if they censor you for good, the following options are available.
Free speech social media alternatives
- Twitter alternative: Gab.com. It's growing a lot, and people all over the world are using it because their governments have been trying to censor them.
- Video sites: A few are minds.com, brighteon.com, and bitchute.com.
- Sign up to RSS or Atom feeds for any site you like (if they have one – check mine with the link up top for an example). Email clients like Thunderbird and many browsers allow RSS and Atom feed subscriptions too, so they're checked for new articles every time you open it up, or however often you set it to check.
- There are more options than what I've said so far, but let's move on.
If you're a programmer who knows Python 3 and Django
The following is an email list building and campaign sending app that I made from scratch, instead of having them hosted on services who censor people they disagree with, like MailChimp. Click here for the code on my github. Pros / Cons / Instructions follow.
Pros of using this program / What it includes
- If you get censored by a middle man, you can give them the middle finger.
- You can create your own email server (optional, but that requires mailinabox or something similar, and knowledge of the Linux command line).
- If you make your own email server, you can send an unlimited amount of emails without paying more for sending more. The only thing you need to spend money on is the price to rent or buy the server. Otherwise, you might be subjected to the limits placed by the api you're using (sendgrid, mailchimp, mailgun, etc). But whether you make your own email server or use another services api, you will still be able to send emails from the list hosted on your server.
- Only 1 connection to your mail server is required to send a massive amount of emails all at once, instead of a new connection opened and closed for each individual email. This is done by using django's send_mass_mail() function.
- An admin interface is included with instructions that let's you slice your email list, so you can send_mass_mail() to properly warm up your IP.
- Has a double opt-in to prove the user's email is real.
- Confirmation emails use python's celery as a task worker.
- UUID4 (Universal Unique ID) for increased security to prevent emails being deleted by people trying to guess the url.
- When a user wants to delete their email from the list, it won't delete it until the admin runs an admin only action to delete it.
- Includes templates with the abiliy to visit a download page a limited amount of times, with the option to reset the limit. Remove it it you don't want it.
Cons of using this program
- Uses python's celery task worker (this and everything below takes more time to enable).
- You need to know how to use a Linux server from the command line, Django 2.x, and Python 3.x.
- You need to know how to set up Fail2Ban, so your server can't be abused by malicious scripts that would attempt to ruin your mail server's reputation.
- As I type this, I haven't yet set up the admin template to use a radio button instead of a checkbox for the email campaign you want to send. If you check more than 1 campaign, you'll only send to the sliced range of the first campaign it .get()'s. SO YOU MUST MAKE SURE YOU ONLY CHECK 1 CAMPAIGN TO SEND TO AT A TIME.
- Analytics aren't as great as common services like sendgrid, mailchimp, etc. (see how many people opened your email, how many got delivered, etc.). If you set your DMARC record, you do get some form of analytics to see what's bouncing, etc., but it's going to be in XML, so it's impractical for the average person.
- You will have to manually delete bounced email addresses from the XML report you get by DMARC.
- Email campaign is plain text. Though I will enable a pretty html/css version in the future (unless someone else wants to do it for me - you're welcome to help with anything here).
- Have your own VPS setup and running Django 2.x, and Python 3.x. I know it works on Django 2.0.5 and 2.1, but there are really not that many huge changes with other versions of django. So check the code first if you're unsure.
- Add the email_signup_app/ folder to your projects root folder.
- In settings.py, add 'email_signup_app
.apps.and 'captcha_app. EmailSignup AppConfig', apps.Captchato the INSTALLED_APPS list. AppConfig',
- Add the values for EMAIL_BACKEND, EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT, and EMAIL_USE_TLS to your settings.py. Documentation is here if you need more help.
- Add path('email_
signup_app/', includeto your projects urls.py file. ('email_ signup_, namespace='email_ app.urls' signup_)), app'
- In your root project's templates/ folder, add the admin/ folder into it. If you already have an admin/ folder there, just add the app name folder inside that. This is necessary to override the default templates for the specific pages, so laymen can get the instructions on how to use it properly.
- Make sure the templates in email_signup_app/ are extending off whatever your base.html file is, with the proper block tags, and edit any part of the templates content as you need. You will need to, because some of it has filler text.
- Add my css styles to your css style sheet. Make sure none of them overlap with yours.
- Make sure your DMARC, DKIM, SPF, etc. records are properly set on your VPS that's running Django, along with an appropriate email for DMARC reports. Click here for an easy intro on how to do that. You can also go here for any deeper detail on info if you need it.
- Go to the Fail2Ban link above, scroll to it's documentation, read it, and enable it on the server running Django to make it more secure. Do an internet search if you need more help with it.
- python manage.py makemigrations
- python manage.py migrate
- sudo systemctl restart gunicorn (or whatever wsgi / distro of linux you're using to recognize the changes)
- You will need to pip install Pillow, with any dependencies (haven't done it in awhile, but I think the only one was psycopg2). Then upload the images from captcha_images/ into the Captcha App section on the admin panel, with the proper Roman Numeral values.
- Make an EmailCampaign instance.
- Follow the directions in the EmailCampaign admin template for warming up your email server, and the directions on the removal page when deleting from the list.