+ Start a Discussion
SAKTHIVEL MSAKTHIVEL M 

Where the Email Signature Values is stored in the Which SFDC Object?

Hi,

Setup - > Personal Setup -> Email -> My Email Settings
 
Using above path we can enter the Email Name, Email Address , BCC & Email Signature.
 
My Question:
Where the Email Signature values stored in the SFDC Objects?
 
My Requirement:
I need to show the Email Signature values in my Custom Visualforce page using Apex class or ?
 
can you please help me to get this value
@anilbathula@@anilbathula@
Hi Svel,

you cant get the Email signature in a query.
But you can use it in Single Messaging or Mass messaging.
There is a similar post on boards check this.
http://boards.developerforce.com/t5/General-Development/Can-I-get-the-user-s-email-signature-via-the-API/td-p/459
Vinit_KumarVinit_Kumar

Agreed with Anil,

 

It is not stored anywhere,but if you want to use it,you can store it in Static resource and use it on your VF Email Template by accessing it on the VF page.

Candy WeekesCandy Weekes
Hi Svel,

I just ran into this issue today and I know this is quite late but I thought I'd give an answer.

The Email Signature is stored in the User Object in a field called Signature.
  •  You can update the signature with line breaks by using the Apex Data Loader export function
  • Export the IDs of the records you want to update and the Signature field
  • Open the file in Excel.
  • Follow these steps to upload line breaks using Data Loader:  
    • https://help.salesforce.com/apex/HTViewSolution?id=000181246&language=en_US
Got to share the good news!
 
Steven ConnollySteven Connolly
Candy, is your message still the best way to update multiple users' email signatures in bulk?  Or have there been any updates to functionality over the past year?  Can't seem to find any. 
SamHowleSamHowle
I'd like to add onto what Candy posted. I had a requirement to insert a predfined link into the Support Console Email Publisher pane which I did with an Apex Class (emailmessage.htmlbody). However, this also overwrites the ootb Email Signature if the user has one. I fixed this by calling the signature from the User record BUT I found an easier way to fix the line break issue. Salesforce will strip all line breaks out of the signature since it will ignore the ASCII line breaks. I got around this by replacing all ASCII line breaks with HTML line breaks as shown in the code below. Yes, you can do a mass update with Data Loader, but this way you can have it dynmically changed anytime a user updates their signature and you don't need any additional triggers/rules/custom fields. FWIW this was used directly for the HTML body in the console Email Publisher, but hopefully will help.
EmailMessage emailMessage = (EmailMessage)sendEmailDefaults.getTargetSObject();

User currUser = [Select Id,Signature from User where Id=:userinfo.getuserId()];
            string userSignature = currUser.Signature;
             if (String.isNotBlank(userSignature)) {
                 userSignature = userSignature.replace('\n','<br>');
}
emailMessage.HtmlBody = '<br>' + '<br>' + userSignature

//You can add additional data after the userSignature above