For the second idea I have a simple solution:
In the queue_message() method change:
$headers_to_copy = array('From', 'Content-type');
to
$headers_to_copy = array('From', 'Content-type', 'reply-to');
and
// Add our reply to.
$headers = "Reply-To: " . $settings->reply_to . "\n" . $headers;
to
if($settings->reply_to === "false"){
$headers = $header[2]. $headers;
} else {
// Add our reply to.
$headers = "Reply-To: " . $settings->reply_to . "\n" . $headers;
}
With this little modification you can specify for each list if the reply-to fiel is the original one from the sender or the address of your Mail-List.
For the List-Reply-To you have to insert in the “Reply-To” fild in the List settings your email address as before…
For the sender reply-to you have to write “false” in the reply-to field and your email-address has to be in the additional Mail-Addresses field below…
Maybe you find a more comfortable solution, but this is what i need…
I figure you’ll want to email me…
edward@mindreantre.se
what should I write to you??
all my points are in the two psots above… 😛
Because there is an administrative reply-to address nowadays that maybe fills your needs, but I don’t know if it does unless I have more direct communication (via chat).
CAN SOMEONE DELETE THIS POST… IT WAS BROKEN AND I REPOST MY ORIGINAL POST
This is how I understand your actual code:
- Reply-To address –> This address will be the Reply-To address for normal emails, which go to the list
- Administartive Reply-To –> If codes are sent, this is the address of the mail-deamon, who process the codes
But I need a way that the original sender is set in the reply-to field. Cause this is not static I introduce the way above…
Example:
My list ist: list@example.com and this list has 7 readers.
An external person writes to this list.
Now I want that, if the readers press “reply” the email-address of the external person is used.
This can’t be done with the actual code, but my modification does this…
BTW: sry i can’t chat here…
I have another feature request:
Maybe you can set the return-path to the original sender.
Now it is the php-mailer (www-data@example.com).
So if a mail is rejected the sender knews it and not the serveradmin 😛
Here are code snippets, but i couldn’t get them work, now:
@line 1908 change to:
$result = mail( reset($mail_data['to']), $mail_data['subject'], $body, $headers, "-f".trim($mail_data['return-path']));
@method queue_message():
$emailpattern = "([A-Z0-9._%\+\-]+)\@([A-Z0-9.-]+\.[A-Z]{2,4})";
// where header[0] is the 'From' Header line
preg_match($emailpattern, $header[0], $return_path);
$mail_data = array(
'headers' => $headers,
'body' => $body,
'reply_to' => array( $settings->reply_to => $settings->list_name ),
'subject' => $subject,
'return-path' => $return_path[0]
);
@base.php add in send_mail():
$mail->Sender = $mail_data['return-path'];
Maybe you can do this better…
About the reply-to… I suppose I could add an option to allow a reply-to to the user if the user isn’t an author.
And the return path: trying to see what that’s all about. So far I’ve been getting deliverability errors sent back to the sender address. That should be right?
Headers and footers modify the body text. Digitally signed messages will break and the function itself needs to be really smart to find the correct part of the message to insert the header/footer into. Nope.
Still haven’t figured out how to have “guest” access to the lists. The first time is easy, but any replies to guest messages and the reflector won’t know who to send to…
I have a solution for the return-path problem:
in method: queue_message() i change following:
$return_paths = explode("<", $header[0]);
$return_path = is_null($return_paths[1]) ?
str_replace("from:", "", $return_paths[0]) :
str_replace(">", "", $return_paths[1]);
$mail_data = array(
'headers' => $headers,
'body' => $body,
'reply_to' => array( $settings->reply_to => $settings->list_name ),
'subject' => $subject,
'return-path' => $return_path
);
and in method wp_loaded() you’ll need this:
$params = sprintf("-oi -f %s", $mail_data['return-path']);
$result = mail( reset($mail_data['to']), $mail_data['subject'], $body, $headers, $params);
with this modification any errors will be sent back to the sender…
—————
To the additional text problem:
I don’t want to keep the sign keys, because I don’t need them.
I want to append two lines so that recievers of the list can see if there are other “to” and “cc” recievers for this mail, because this information will be lost during the reflection…
is there any chance for list footer message?
this is a common function in mailinglists like mailman or else…