When a request for confirmation is required, the originator of the
command will receive a short mail, telling him that this is so, so that he knows what's going on.
This commit is contained in:
parent
95ea9d1899
commit
a620bf4593
28
subscribe.c
28
subscribe.c
@ -186,11 +186,9 @@ AddAddress(struct Mail * MailStruct,
|
||||
fh = vOpenMailer(envelope, originator, NULL);
|
||||
if (fh != NULL)
|
||||
{
|
||||
fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n",
|
||||
listname, ListConfig->fqdn);
|
||||
fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", listname, ListConfig->fqdn);
|
||||
fprintf(fh, "To: %s\n", originator);
|
||||
fprintf(fh, "Subject: Petidomo: Your request \"subscribe %s %s\"\n",
|
||||
address, listname);
|
||||
fprintf(fh, "Subject: Petidomo: Your request \"subscribe %s %s\"\n", address, listname);
|
||||
if (MailStruct->Message_Id != NULL)
|
||||
fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id);
|
||||
fprintf(fh, "Precedence: junk\n");
|
||||
@ -235,13 +233,33 @@ AddAddress(struct Mail * MailStruct,
|
||||
fprintf(fh, "\n %s\n\n", cookie);
|
||||
fprintf(fh, "in your reply.\n");
|
||||
CloseMailer(fh);
|
||||
|
||||
fh = vOpenMailer(envelope, originator, NULL);
|
||||
if (fh != NULL)
|
||||
{
|
||||
fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", listname, ListConfig->fqdn);
|
||||
fprintf(fh, "To: %s\n", originator);
|
||||
fprintf(fh, "Subject: Petidomo: Your request \"subscribe %s %s\"\n", address, listname);
|
||||
if (MailStruct->Message_Id != NULL)
|
||||
fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id);
|
||||
fprintf(fh, "Precedence: junk\n");
|
||||
fprintf(fh, "Sender: %s\n", envelope);
|
||||
fprintf(fh, "\n");
|
||||
fprintf(fh, "Subscribing the address will need confirmation. Such a\n");
|
||||
fprintf(fh, "request has been sent to the address already, so don't move!\n");
|
||||
CloseMailer(fh);
|
||||
}
|
||||
else
|
||||
{
|
||||
syslog(LOG_ERR, "Failed to send email to \"%s\" concerning his request.", originator);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
syslog(LOG_ERR, "Failed to send email to \"%s\"!", owner);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@ -218,8 +218,6 @@ DeleteAddress(struct Mail * MailStruct,
|
||||
char* command = text_easy_sprintf("unsubscribe %s %s", address, listname);
|
||||
char* cookie = queue_command(MailStruct, command);
|
||||
|
||||
/* Notify the owner. */
|
||||
|
||||
fh = vOpenMailer(envelope, address, NULL);
|
||||
if (fh != NULL)
|
||||
{
|
||||
@ -245,6 +243,27 @@ DeleteAddress(struct Mail * MailStruct,
|
||||
return -1;
|
||||
}
|
||||
|
||||
fh = vOpenMailer(envelope, originator, NULL);
|
||||
if (fh != NULL)
|
||||
{
|
||||
fprintf(fh, "From: %s-request@%s (Petidomo Mailing List Server)\n", listname, ListConfig->fqdn);
|
||||
fprintf(fh, "To: %s\n", originator);
|
||||
fprintf(fh, "Subject: Petidomo: Your request \"unsubscribe %s %s\"\n", address, listname);
|
||||
if (MailStruct->Message_Id != NULL)
|
||||
fprintf(fh, "In-Reply-To: %s\n", MailStruct->Message_Id);
|
||||
fprintf(fh, "Precedence: junk\n");
|
||||
fprintf(fh, "Sender: %s\n", envelope);
|
||||
fprintf(fh, "\n");
|
||||
fprintf(fh, "Unsubscribing the address will need confirmation. Such a\n");
|
||||
fprintf(fh, "request has been sent to the address already, so don't move!\n");
|
||||
CloseMailer(fh);
|
||||
}
|
||||
else
|
||||
{
|
||||
syslog(LOG_ERR, "Failed to send email to \"%s\" concerning his request.", originator);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user