PFFROMBYTO(1)

πŸ“¦
version 1.2.1 Β· 2 versions
, in ubuntu stonking

✨ PFFROMBYTO ✨

okay bestie, welcome to pffrombyto(1) β€” the Perl script that reads your Postfix logs and tells you who's been sliding into a specific inbox πŸ’Œ

Copyright (C) 2007-2025 by James S. Seymour, Release 1.2


🌸 NAME 🌸

pffrombyto β€” list "from" addresses by "to" whom in a Postfix log file πŸ’–

(also, hi, that copyright above? yeah it belongs to this section, we're just vibing with it up here)


πŸ’… SYNOPSIS πŸ’…

pffrombyto -[bchrRv] <recipient> [mailfile]

If you don't name any file(s), it just reads from stdin, no biggie. Output goes to stdout. 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

So like, pffrombyto parses your Postfix log files and generates a list of "from" addresses, all based on a "to" address (or even just a fragment of one) that you specify. It's giving detective energy, honestly. πŸ”


πŸ‘‘ OPTIONS πŸ‘‘

  • -b β€” include bounces πŸ€
  • -c β€” also include client hostnames/addrs, like why not
  • -h β€” spit out the help message and dip
  • -r β€” include rejects πŸ™…
  • -R β€” hard rejects ONLY, no softies allowed
  • -v β€” print the version and exit, bye

🌈 RETURN VALUE 🌈

ngl pffrombyto doesn't return anything the shell actually cares about. It's not that kind of program. πŸ’€


πŸ“ ERRORS πŸ“

Error messages get emitted to stderr, where they belong. periodt.


✨ EXAMPLES ✨

Wanna generate a list of every sender who ever emailed username@example.com? Say less:

pffrombyto username@example.com /var/log/maillog

Now here's the iconic part β€” as a lil convenience, pffrombyto tries to intelligently figure out how to handle regexp meta-characters. So if you hand it a search expression that does NOT contain meta-character escapes ("\"), it will assume that . and + are literals and escape them for you. 🧚

In that first example up there, the . in the FQDN part of your search term would've been automatically escaped for you. Same deal here:

pffrombyto username+foo@example.com /var/log/maillog

bestie, that + and . both got escaped, you didn't have to lift a finger. πŸ’…

But wait β€” what if you actually wanted to find all the plussed targets for username? Then you'd have to do the escaping yourself, like:

pffrombyto 'username\+.+@example\.com' /var/log/maillog

See the difference? Now the escapes are yours, and it knows you meant regex. πŸ”₯


πŸ’œ SEE ALSO πŸ’œ

pflogsumm, pftobyfrom β€” the whole friend group πŸ«‚


πŸŽ€ NOTES πŸŽ€

All search terms and searched fields get lower-cased. Just so you know. πŸ‘€

The pffrombyto Home Page lives at:

http://jimsun.LinxNet.com/postfix_contrib.html

🌸 REQUIREMENTS 🌸

Perl β€” that's it, that's the requirement πŸ’–


πŸ“œ LICENSE πŸ“œ

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 😭

You may have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

An on-line copy of the GNU General Public License can be found at:

http://www.fsf.org/copyleft/gpl.html

okay that's the whole page, you ate it, congrats 🫢✨ β€” this was version 1.2.1, dated 2025-05-22, and honestly? iconic. byeee πŸ’…πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from