View Single Post
  #1  
Old 04-10-2012, 08:45 PM
AndrewRich's Avatar
AndrewRich AndrewRich is offline
 
Join Date: Dec 2007
Location: Palo Alto, CA
Posts: 67
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Set "reply-to" properly in mail from members

This involves modifying the sendmessage.php file directly. If that scares you then don't do it.

I've fixed sendmessage.php such that emails sent by members from my forum now set the "reply-to" field properly, that is, to the email address of the member sending the message. This solves the long-standing problem of people replying to those messages and the replies ending up in my inbox (since the admin email address forwards to me).

It seems to me that the email system should have been set this way to begin with, but since it wasn't...

This covers the "Contact Us" form, the "Send thread to friend" menu option and the "Email Member" option.

This required three code edits in sendmessage.php:
(was)
PHP Code:
vbmail($destemail$subject$messagefalse$vbulletin->GPC['email'], ''$name); 
(now)
PHP Code:
vbmail($destemail$subject$messagefalse$vbulletin->GPC['email'], "reply-to:{$vbulletin->userinfo['email']}\n"$name); 
(was)
PHP Code:
vbmail($vbulletin->GPC['sendtoemail'], $vbulletin->GPC['emailsubject'], $message); 
(now)
PHP Code:
vbmail($vbulletin->GPC['sendtoemail'], $vbulletin->GPC['emailsubject'], $message,'','',"reply-to:{$vbulletin->userinfo['email']}\n"); 
(was)
PHP Code:
vbmail($userinfo['email'], fetch_censored_text($vbulletin->GPC['emailsubject']), $message false$vbulletin->userinfo['email'], ''$vbulletin->userinfo['username']); 
(now)
PHP Code:
vbmail($userinfo['email'], fetch_censored_text($vbulletin->GPC['emailsubject']), $message false$vbulletin->userinfo['email'], "reply-to:{$vbulletin->userinfo['email']}\n"$vbulletin->userinfo['username']); 
Because this is a PHP code edit (not a template edit) it may and probably will be overwritten at some future time during a system upgrade. To re-do the edit, search sendmessage.php for calls to the "vbmail" function and add the "reply-to" header as the sixth argument, padding previous arguments with nulls if necessary as in the second edit above.

This won't affect notifications (e.g. DMs, thread subscriptions) because those really are sent from the system, not an individual user. DM notifications are not the actual DM, though they include the message; they are a notification from the system that a DM is available. I do get erroneous replies to those all the time and I'm open to suggestions for how they should be handled.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01302 seconds
  • Memory Usage 1,793KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (6)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete