There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

TCB13 , (edited )
@TCB13@lemmy.world avatar

Dovecot + Postfix + Rspamd can do it. Instead of pulling emails you can simply forward those providers to your homeserver account. You may also setup Postfix in a way that would allow you to use our @gmail @hotmail addresses as “from” addresses / aliases to your local account and it will automatically submit the email through the provider SMTP server when you send something.


If you really want to pull email instead of setting up forwards (have your server offline more time and whatnot) there are a few options:


To route the outgoing email through the right provider / external SMTP server based on the “from” address you may configured it like this:

main.cf:


<span style="color:#323232;">smtp_sasl_auth_enable = yes
</span><span style="color:#323232;">smtp_sender_dependent_authentication = yes
</span><span style="color:#323232;">smtp_sasl_password_maps = mysql:/etc/postfix/virtual/mysql-external-alias-credentials.cf
</span><span style="color:#323232;">sender_dependent_relayhost_maps = mysql:/etc/postfix/virtual/mysql-external-alias-relay-hosts.cf
</span><span style="color:#323232;">smtp_sasl_security_options = noanonymous
</span>

mysql-external-alias-credentials.cf:


<span style="color:#323232;">user = XXXXX
</span><span style="color:#323232;">password = XXXXXX
</span><span style="color:#323232;">hosts = 127.0.0.1
</span><span style="color:#323232;">dbname = mailserver
</span><span style="color:#323232;">query = SELECT concat(relay_user, ':', relay_passwd) AS credential FROM `Virtual_Alias_External` WHERE alias='%s' AND active = 1;
</span>

mysql-external-alias-relay-hosts.cf:


<span style="color:#323232;">user = XXXXX
</span><span style="color:#323232;">password = XXXXXX
</span><span style="color:#323232;">hosts = 127.0.0.1
</span><span style="color:#323232;">dbname = mailserver
</span><span style="color:#323232;">query = SELECT relay_host AS transport FROM `Virtual_Alias_External` WHERE alias='%s' AND active = 1;
</span>

MySQL table structure:


<span style="color:#323232;">CREATE TABLE `Virtual_Alias_External` (
</span><span style="color:#323232;">  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
</span><span style="color:#323232;">  `alias` varchar(70) NOT NULL,
</span><span style="color:#323232;">  `owner` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
</span><span style="color:#323232;">  `active` tinyint(1) NOT NULL DEFAULT 0,
</span><span style="color:#323232;">  `relay_host` varchar(70) NOT NULL DEFAULT '',
</span><span style="color:#323232;">  `relay_user` varchar(70) NOT NULL,
</span><span style="color:#323232;">  `relay_passwd` varchar(70) NOT NULL,
</span><span style="color:#323232;">  PRIMARY KEY (`id`) USING BTREE
</span><span style="color:#323232;">) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=COMPACT;
</span>

Create an entry like this:


<span style="color:#323232;">alias: [email protected]
</span><span style="color:#323232;">owner: [email protected]
</span><span style="color:#323232;">active: 1
</span><span style="color:#323232;">relay_host: [smtp.gmail.com]:587
</span><span style="color:#323232;">relay_user:  [email protected]
</span><span style="color:#323232;">relay_passwd: your-gmail-password-or-app-password
</span>

Now when you send and email and the from is set as [email protected] Postfix will route the email through Gmail’s SMTP server with credential stored on that table. If done correctly (smtpd_sasl_authenticated_header = no) no references to [email protected] will show up on the email headers.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines