DeadmanDAO Mail Server: Difference between revisions

From Traxel Wiki
Jump to navigation Jump to search
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:OpenDevOps]]
[[Category:OpenDevOps]]


AWS SES may be the solution: https://docs.aws.amazon.com/ses/latest/dg/lists-and-subscriptions.html


No, it doesn't have nearly the capabilities of a real mailing list system.
= Host Machine =


Mailchimp is out because it was bought for so much money that the money squeeze is going to be intense.
== Create Instance ==


Other commercial providers are not significantly less risky than Mailchimp.
=== Interserver Web Interface ===
# go to interserver
# create an instance
## Single Slice ($6/mo at this time)
## Debian 9 (Deb 9 has Mailman 2, Deb 10 has Mailman 3)
## KVM
# set reverse DNS to diffie.deadmandao.com
# Note the IP address


Mailman is robust once deployed and the initial build-out is not too painful.
=== Update to Latest ===


Log in root@ip.address using password you provided


= DeadmanDAO Mailman Build-out =
<pre>
apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade # if needed
reboot
</pre>
 
=== Add User Account ===
 
Log in root@ip.address
 
<pre>
apt-get -y install sudo
adduser bob
usermod -G sudo bob
exit
</pre>
 
= Host MX Settings =
 
Log in to bob@ip.address
 
== Set SPF ==
<pre>
sudo apt-get install net-tools
sudo ifconfig
</pre>
 
That'll give you the ip4 and ip6 addresses, which go into the DNS text record:
 
* v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all
 
== Set Other DNS ==
 
* A Record, diffie, 66.23.226.216
* A Record, @, 66.23.226.216
* CNAME Record, www, diffie.deadmandao.com
* CNAME Record, mail, diffie.deadmandao.com
* TXT Record, diffe, v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all
* MX Record, deadmandao.com, mail.deadmandao.com, 10
 
== Set Hostname ==
 
<pre>
sudo apt-get install emacs-nox
sudo emacs -nw /etc/hostname
> diffie
sudo emacs -nw /etc/hosts
> 66.23.226.216 diffie.deadmandao.com diffie
sudo reboot
</pre>


* [[MailingListDeadmanFirstPass]] (Deb 10, Mailman 3: installed Apache and Certbot before Mailman, which made it hard to deploy the Mailman web console)
Log in to bob@diffie.deadmandao.com
* [[MailingListDeadmanSecondPass]] (Deb 10, Mailman 3: had trouble getting the Snap/PIP/VirtualEnv version of Mailman to let me in as an administrator)
* [[MailingListDeadmanThirdPass]] Deb 9, Mailman 2, had trouble getting the Mailman executables to execute as cgi's.
* Fourth Pass: Deb 10, Mailman 2. Repeatedly failed sendmail test (as have/would the others, though I was inconsistently testing)
* Fifth Pass: Frustrated. Using traxel.com's install of Mailman.


== Short Term Solution ==
<pre>
hostname
hostname --all-fqdn
dnsdomainname
</pre>
 
= Postfix =
 
== SMTP Server ==
 
<pre>
sudo apt-get install postfix
</pre>


Using interserver.systemicbias.com
* Internet Site
* deadmandao.com is the host domain
* send a test email


<pre>
<pre>
Enter the name of the list: crypto
echo "Subject: sendmail test" | /usr/sbin/sendmail -v emailaddress
Enter the email of the person running the list: bob@traxel.com
</pre>
Initial crypto password:
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:


## crypto mailing list
Had trouble with IPv6 in Debian 9 ("Network is unreachable"). Used the following in main.cf to switch to IPv4 only.
crypto:              "|/var/lib/mailman/mail/mailman post crypto"
crypto-admin:        "|/var/lib/mailman/mail/mailman admin crypto"
crypto-bounces:      "|/var/lib/mailman/mail/mailman bounces crypto"
crypto-confirm:      "|/var/lib/mailman/mail/mailman confirm crypto"
crypto-join:        "|/var/lib/mailman/mail/mailman join crypto"
crypto-leave:        "|/var/lib/mailman/mail/mailman leave crypto"
crypto-owner:        "|/var/lib/mailman/mail/mailman owner crypto"
crypto-request:      "|/var/lib/mailman/mail/mailman request crypto"
crypto-subscribe:    "|/var/lib/mailman/mail/mailman subscribe crypto"
crypto-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe crypto"


<pre>
# inet_protocols = all
inet_protocols = ipv4
</pre>
</pre>
= Mailman Install =
[[DeadmanDAO_Mailman_Attempt]]
= Client-Side =
== GMail ==
* https://www.digitalocean.com/community/questions/using-gmail-with-postfix-smtp-server
== FairEmail (Android App) ==
* https://email.faircode.eu/

Latest revision as of 20:50, 12 June 2022


Host Machine

Create Instance

Interserver Web Interface

  1. go to interserver
  2. create an instance
    1. Single Slice ($6/mo at this time)
    2. Debian 9 (Deb 9 has Mailman 2, Deb 10 has Mailman 3)
    3. KVM
  3. set reverse DNS to diffie.deadmandao.com
  4. Note the IP address

Update to Latest

Log in root@ip.address using password you provided

apt-get update
apt-get -y upgrade
apt-get -y dist-upgrade # if needed
reboot

Add User Account

Log in root@ip.address

apt-get -y install sudo
adduser bob
usermod -G sudo bob
exit

Host MX Settings

Log in to bob@ip.address

Set SPF

sudo apt-get install net-tools
sudo ifconfig

That'll give you the ip4 and ip6 addresses, which go into the DNS text record:

  • v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all

Set Other DNS

  • A Record, diffie, 66.23.226.216
  • A Record, @, 66.23.226.216
  • CNAME Record, www, diffie.deadmandao.com
  • CNAME Record, mail, diffie.deadmandao.com
  • TXT Record, diffe, v=spf1 ip4:66.23.226.216 ip6:fe80::216:3eff:fe24:10e1 -all
  • MX Record, deadmandao.com, mail.deadmandao.com, 10

Set Hostname

sudo apt-get install emacs-nox
sudo emacs -nw /etc/hostname
> diffie
sudo emacs -nw /etc/hosts
> 66.23.226.216	diffie.deadmandao.com diffie
sudo reboot

Log in to bob@diffie.deadmandao.com

hostname
hostname --all-fqdn
dnsdomainname

Postfix

SMTP Server

sudo apt-get install postfix
  • Internet Site
  • deadmandao.com is the host domain
  • send a test email
echo "Subject: sendmail test" | /usr/sbin/sendmail -v emailaddress

Had trouble with IPv6 in Debian 9 ("Network is unreachable"). Used the following in main.cf to switch to IPv4 only.

# inet_protocols = all
inet_protocols = ipv4

Mailman Install

DeadmanDAO_Mailman_Attempt

Client-Side

GMail

FairEmail (Android App)