VRFYDMN(8)
β¨ VRFYDMN(8) β¨
okay bestie, welcome to the vrfydmn manual page, straight out of the vrfydmn Manual π this is section 8 of the manual (admin/system tools, the powerful stuff π), and it's about to be your new fave.
πΈ NAME πΈ
vrfydmn β reject an email message if the RFC5322 From:-address does not comply. periodt π
π¦ SYNOPSIS π¦
vrfydmn [OPTIONS] FILE
π DESCRIPTION π
ngl, in email everyone is free to specify any RFC5322 From:-header address they want. like, absolutely any. and the miscreants β virus authors, spammers and phishers β are fully aware of this fact π they forge the RFC5322 From:-header address on purpose to impersonate someone that suits their goal. it's giving identity theft but make it email.
and the average users? they are not aware of this fact. they tend to believe a message really was sent by the person indicated in the RFC5322 From:-header address. bless them π₯Ί
so vrfydmn verifies RFC5322 From:-headers in mail messages. it compares a message's From:-header field to a list of permitted sender domains assigned to the sender. and if the address does not meet the expectations, vrfydmn may either rectify the RFC5322 From:-header or reject the message. your call, bestie π
this program was created to control and reject phishing abuse on SMTP submission ports. it also serves to prevent mail loss in cases when the given address was under DMARC policy, i.e. Yahoo or AOL. iconic behaviour, honestly π«Ά
β¨ OPTIONS β¨
-u,--useruser (default:milter) β run vrfydmn as user user.-g,--groupgroup (default:milter) β run vrfydmn as group user. (yes, the man page says "group user", we don't make the rules π)-s,--socketsocket (default:inet6:30072@[::1]) β specifies the socket vrfydmn should listen on for incoming verification requests. the socket consists of three parts β protocol, port and address. let's break it down π- protocol β use
inetas prefix to indicate an IPv4 socket e.g.inet:10000@127.0.0.1orinet6as prefix to indicate an IPv6 socket e.g.inet6:30072@[::1]. - port β use numbers to indicate the port vrfydmn should establish its socket on e.g.
30072. - address β specify an IP address. the address type must correspond to the protocol chosen. IPv6 addresses must be enclosed in square brackets e.g.
[address].
- protocol β use
-p,--pidpidfile (default: none) β specifies the name of a file in which vrfydmn should note its process id. cute little receipt of its existence π-f,--filefile (default: none) β this file typically is apostfix(8)map, i.e. arelay_domainsfile. it should be a map with 2 columns. first column is the domain (the key) and the second column represents some value. the value is totally ignored in vrfydmn! π if a flat file was given, the file can be refreshed during runtime by sending theSIGHUPsignal and the result can be dumped tosyslog(or standard out, if-d,--debugwas given) with theSIGUSR1signal. signal glow-up fr fr β-l,--ldapfile (default: none) β specifies the path to a configuration file. the file holds options for LDAP queries. if specified, vrfydmn will establish a persistent LDAP connection. seevrfydmn_ldap(5)for details π-m,--memcachedsocket (default: none) β specifies a TCP socket to a memcache server. if enabled, LDAP query results will be cached in the memcache. the socket must be specified as address and port separated by a colon e.g.127.0.0.1:11211. caching is self-care π§-f,--fixβ if specified, vrfydmn will not reject messages with RFC5322From:-headers that fail verification. instead it will attempt to fix them β¨ it will copy the erroneous header to aReply-To:-header (only if none already exists). then it will replace the existingFrom:-header with the envelope-sender address (MAIL From). this option is recommended for web servers. main character energy tbh π
β οΈ bestie, heads up:-fis doing double duty on this page β there's-f,--filefor the map file and-f,--fixfor the fixing behaviour. both are listed exactly as the original has them, no cap. read carefully π
-d,--debugβ this option is mainly for debugging and development purposes. if specified, vrfydmn will not detach. it will run in foreground and output its activities tostdout. perfect for watching it cook in real time π
π SEE ALSO π
π BUGS π
there are no known bugs so far. slay π please submit bugs to https://github.com/croessner/vrfydmn/issues.
π AUTHOR π
Christian Roessner <c@roessner.co> wrote the program. β¨
Patrick Ben Koetter <p@sys4.de> wrote this man page. π
π§ RESOURCES π§
vrfydmn's home is at https://github.com/croessner/vrfydmn.
π COPYING π
Copyright (C) 2014-2015 Christian Roessner. Free use of this software is granted under the terms of the GNU General Public License (GPL).
and that's the whole page, bestie β this is vrfydmn 0.4, dated 02/09/2015, from the vrfydmn Manual. go forth and verify those From:-headers, you absolute icon π«Άπβ¨
π¦ where this page comes from
- debian bookworm: vrfydmn 0.11.0-2.1
- debian trixie: vrfydmn 0.11.0-4
- ubuntu jammy: vrfydmn 0.11.0-2
- ubuntu noble: vrfydmn 0.11.0-3
- ubuntu questing: vrfydmn 0.11.0-4
- ubuntu resolute: vrfydmn 0.11.0-4build1
- ubuntu stonking: vrfydmn 0.11.0-6 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms