cron(8): Add MAILFROM ability for crontabs
This changes the sender mail address in a similar fashion to how MAILTO may change the recipient. The default from address remains unchanged. MFC after: 1 week
This commit is contained in:
parent
1631235aa6
commit
12455a9e31
@ -17,7 +17,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd July 19, 2017
|
||||
.Dd April 15, 2019
|
||||
.Dt CRON 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -79,6 +79,9 @@ commands, any output is mailed to the owner of the crontab (or to the user
|
||||
named in the
|
||||
.Ev MAILTO
|
||||
environment variable in the crontab, if such exists).
|
||||
The from address of this mail may be set with the
|
||||
.Ev MAILFROM
|
||||
environment variable.
|
||||
.Pp
|
||||
Additionally,
|
||||
.Nm
|
||||
|
@ -93,7 +93,7 @@ child_process(e, u)
|
||||
{
|
||||
int stdin_pipe[2], stdout_pipe[2];
|
||||
register char *input_data;
|
||||
char *usernm, *mailto;
|
||||
char *usernm, *mailto, *mailfrom;
|
||||
int children = 0;
|
||||
# if defined(LOGIN_CAP)
|
||||
struct passwd *pwd;
|
||||
@ -111,6 +111,7 @@ child_process(e, u)
|
||||
*/
|
||||
usernm = env_get("LOGNAME", e->envp);
|
||||
mailto = env_get("MAILTO", e->envp);
|
||||
mailfrom = env_get("MAILFROM", e->envp);
|
||||
|
||||
#ifdef PAM
|
||||
/* use PAM to see if the user's account is available,
|
||||
@ -503,8 +504,12 @@ child_process(e, u)
|
||||
warn("%s", MAILCMD);
|
||||
(void) _exit(ERROR_EXIT);
|
||||
}
|
||||
fprintf(mail, "From: Cron Daemon <%s@%s>\n",
|
||||
usernm, hostname);
|
||||
if (mailfrom == NULL || *mailfrom == '\0')
|
||||
fprintf(mail, "From: Cron Daemon <%s@%s>\n",
|
||||
usernm, hostname);
|
||||
else
|
||||
fprintf(mail, "From: Cron Daemon <%s>\n",
|
||||
mailfrom);
|
||||
fprintf(mail, "To: %s\n", mailto);
|
||||
fprintf(mail, "Subject: Cron <%s@%s> %s\n",
|
||||
usernm, first_word(hostname, "."),
|
||||
|
@ -17,7 +17,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 6, 2018
|
||||
.Dd April 15, 2019
|
||||
.Dt CRONTAB 5
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -116,6 +116,9 @@ If
|
||||
.Ev MAILTO
|
||||
is defined (and non-empty), mail is
|
||||
sent to the user so named.
|
||||
If
|
||||
.Ev MAILFROM
|
||||
is defined (and non-empty), its value will be used as the from address.
|
||||
.Ev MAILTO
|
||||
may also be used to direct mail to multiple recipients
|
||||
by separating recipient users with a comma.
|
||||
|
Loading…
Reference in New Issue
Block a user