PDA

View Full Version : Email Sending, Change "From" Name


vBNinja
05-12-2012, 04:26 AM
Hello,

When sending an email to users, there is only the "from email" field to enter the email to send from. Is there a way to enter an email but have it show a name as the sender instead of "abc@domain.com" ?

Thanks in advance :)

kh99
05-12-2012, 11:22 AM
You're talking about the "Send Email to Users" function? It could be done without a lot of trouble but you'd have to modify admincp/email.php. I'll give you more details if you're interested.

vBNinja
05-12-2012, 02:53 PM
You're talking about the "Send Email to Users" function? It could be done without a lot of trouble but you'd have to modify admincp/email.php. I'll give you more details if you're interested.

Sure that would be great :D

kh99
05-12-2012, 04:33 PM
OK, edit email.php and make these changes:

Around line 63, find this section and add the line in red:
'subject' => TYPE_STR,
'message' => TYPE_STR,
'fromname' => TYPE_STR,
));




Around line 223 find this section and add the parameters in red (scroll right to see it) (ETA: the '' parameter before it should have been in red as well):
if (!$vbulletin->GPC['test'])
{
echo $vbphrase['emailing'] . " \n";
vbmail($user['email'], $vbulletin->GPC['subject'], $sendmessage, true, $vbulletin->GPC['from'], '', $vbulletin->GPC['fromname']);
}



Around line 257 find this code and add the line in red:
construct_hidden_code('serializedprofile', sign_client_string(serialize($vbulletin->GPC['profile'])));
construct_hidden_code('from', $vbulletin->GPC['from']);
construct_hidden_code('fromname', $vbulletin->GPC['fromname']);
construct_hidden_code('subject', $vbulletin->GPC['subject']);
construct_hidden_code('message', $vbulletin->GPC['message']);




And around line 323 (you get the idea now):
print_input_row($vbphrase['email_to_send_at_once'], 'perpage', 500);
print_input_row($vbphrase['from'], 'from', $vbulletin->options['webmasteremail']);
print_input_row("From Name:", 'fromname', '');
print_input_row($vbphrase['subject'], 'subject');
print_textarea_row($vbphrase['message_email'], 'message', '', 10, 50);



That will create another text field on the "Send Email" page that lets you enter a "From" name. But, there's one more issue: The mail functions in includes/class_mail.php automatically add a '-' follwed by the forum name to the From name. You could edit class_mail.php and take that out, but then it might also disappear from other emails that get sent in other ways (I haven't followed all the logic so I don't know exactly which ones). If you wanted, you could add a parameter to the email function to take care of that but it starts getting more complicated... (if it's an issue let me know and we can work that out).

vBNinja
05-12-2012, 11:10 PM
Thanks, i don't want to run into any errors by doing this, do you think there's a stable solution?

addamroy
02-17-2013, 09:09 PM
I hate to bump an old thread but kh I just used this and it's AWESOME. Should be a default feature in future vb versions if I do say so myself.

Anyway, I would like to know how to remove the - forum name, part from showing in emails via the 'send email to users' function like you mentioned... Would be awesome if you could share that.