diff --git a/usr.bin/mail/mail.1 b/usr.bin/mail/mail.1 --- a/usr.bin/mail/mail.1 +++ b/usr.bin/mail/mail.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 8, 2018 +.Dd March 10, 2025 .Dt MAIL 1 .Os .Sh NAME @@ -36,6 +36,7 @@ .Sh SYNOPSIS .Nm .Op Fl dEiInv +.Op Fl r Ar from-addr .Op Fl s Ar subject .Op Fl c Ar cc-addr .Op Fl b Ar bcc-addr @@ -109,6 +110,14 @@ .It Fl N Inhibit the initial display of message headers when reading mail or editing a mail folder. +.It Fl r Ar from-addr +Set the +.Va From +address to +.Ar from-addr . +The +.Fl r Ar from-addr +options are passed to the mail transfer argent. .It Fl s Ar subject Specify .Ar subject diff --git a/usr.bin/mail/main.c b/usr.bin/mail/main.c --- a/usr.bin/mail/main.c +++ b/usr.bin/mail/main.c @@ -118,7 +118,7 @@ bcc = NULL; smopts = NULL; subject = NULL; - while ((i = getopt(argc, argv, "FEHINT:b:c:edfins:u:v")) != -1) { + while ((i = getopt(argc, argv, "FEHINT:b:c:edfinr:s:u:v")) != -1) { switch (i) { case 'T': /* @@ -231,9 +231,18 @@ */ assign("dontsendempty", ""); break; + case 'r': + /* + * Set from address. + */ + assign("From", optarg); + smopts = cat(smopts, nalloc("-r", 0)); + smopts = cat(smopts, nalloc(optarg, 0)); + break; case '?': fprintf(stderr, "\ -Usage: %s [-dEiInv] [-s subject] [-c cc-addr] [-b bcc-addr] [-F] to-addr ...\n\ +Usage: %s [-dEiInv] [-r from-addr] [-s subject] [-c cc-addr] [-b bcc-addr] [-F]\ + to-addr ...\n\ %*s [-sendmail-option ...]\n\ %s [-dEHiInNv] [-F] -f [name]\n\ %s [-dEHiInNv] [-F] [-u user]\n\