E-Mail

SPF

Beispiel wie es konfiguriert wird für mail.example.com (oder zumindest wie ich das kurz vor der Migration vorhabe): v=spf1 a mx a:mail.example.com ~all

Erklärung

  • v=spf1 = SPF-Version, zurzeit immer das
  • a = erlaubt senden von der IP des A-Records -> der Webserver (nötig? Hm)
  • mx erlaubt senden von der IP des MX-Records -> (.56 hoffentlich)
  • a:mail.example.com = ZUSÄTZLICH A-Record von mail.example.com, falls man von da noch senden will warum auch immer. Würde scheinbar genauso funtkionierten mit mx:example.com, wenn man das braucht (Reference: https://www.spf-record.de/syntax)
  • ~all = Soft-Fail

Gültigkeit von Adressen testen

mit js-Library. Inspiriert von diesem Spiel, in dem sehr freaky ZUsammenhänge auftauchten: https://e-mail.wtf/

root@a699d7ba3ca2:/work# npm i email-addresses

added 1 package in 134ms
root@a699d7ba3ca2:/work# node
Welcome to Node.js v18.20.4.
Type ".help" for more information.
> addrs = require("email-addresses")
[Function: parse5322] {
  parseOneAddress: [Function: parseOneAddressSimple],
  parseAddressList: [Function: parseAddressListSimple],
  parseFrom: [Function: parseFromSimple],
  parseSender: [Function: parseSenderSimple],
  parseReplyTo: [Function: parseReplyToSimple]
}
> addrs.parseOneAddress('info@testname@googlemail.com')
null
> addrs.parseOneAddress('infotestname@googlemail.com')
{
  parts: {
    name: null,
    address: {
      name: 'addr-spec',
      tokens: 'infotestname@googlemail.com',
      semantic: 'infotestname@googlemail.com',
      children: [Array]
    },
    local: {
      name: 'local-part',
      tokens: 'infotestname',
      semantic: 'infotestname',
      children: [Array]
    },
    domain: {
      name: 'domain',
      tokens: 'googlemail.com',
      semantic: 'googlemail.com',
      children: [Array]
    },
    comments: []
  },
  type: 'mailbox',
  name: null,
  address: 'infotestname@googlemail.com',
  local: 'infotestname',
  domain: 'googlemail.com',
  comments: '',
  groupName: null
}
>