This has got to be one of the most stupid questions I've ever asked online ...

I have a need of a "helper function" that takes a string someone would "want to send an e-mail to", i.e., something like an RFC 5322 "address" token, as used in a "To:" header, and extract just the actual e-mail address(es) from it. (The capability to deal with lists of *several* recipients is likely optional.)

I found a certain number of *libraries* for various programming languages that offer such a functionality¹, but I would prefer an executable from some run-of-the-mill Linux/UNIX package to be called by shell command. Considering that pretty much every MTA and MUA must contain such functionality (to construct an SMTP envelope for a mail to be sent), and then some (I looked into, e.g., procmail), I'm surprised that apparently none of them *expose* it. (I seem to remember that the original "sendmail -bt" came somewhat close at least ...)

Does anyone have an idea what tool I could (ab)use for that purpose?

¹ Namely:
  -- parseaddr() for python
        https://documentation.help/Python-PEP/module-email.Utils.html
  -- maildrop for C
        https://www.courier-mta.org/maildrop/rfc822.html
  -- mail_parser for Rust
        https://docs.rs/mail-parser/latest/mail_parser/
  -- address-rfc2822 for JavaScript
        https://www.npmjs.com/package/address-rfc2822
  -- mailparse-rfc822-parse-addresses for PHP
        
https://www.php.net/manual/en/function.mailparse-rfc822-parse-addresses.php
  -- mail-header-parse-address for LISP
        
https://www.gnu.org/software/emacs/manual/html_node/emacs-mime/Interface-Functions.html#index-mail_002dheader_002dparse_002daddress
  -- and I suppose you could try to stuff the syntax definition into
     some parser code generator, too
        https://www.rfc-editor.org/rfc/rfc5322#section-3.4

Thanks in advance,
--
Jochen Bern
Systemingenieur

Binect GmbH
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to