Fetch dependencies:
go get .\...Test (don't use "go run"):
go build -o gosignature.exe; .\gosignature.exe -testmodeBuild:
go build -o gosignature.exeTo reduce binary size use:
go build -ldflags="-s -w" -o gosignature.exeUse UPX to reduce binary size even more:
upx gosignature.exeDatabaseConnection=Not supported. LDAP only for now.
UserSelect=Not supported. LDAP only for now.
LDAPBaseObjectDN=List of LDAP servers, ports and base DNs (ldapserver1:port1/basedn1,ldapserver2:port2/basedn2,...).
LDAPReaderAccountName=Distinguished Name of an LDAP account with read permissions.
LDAPReaderAccountPassword=Password of the LDAP reader account.
LDAPUserFieldname=LDAP user field name (defaults to "sAMAccountName").
LDAPFilter=LDAP filter (defaults to "&(objectCategory=person)(objectClass=user)").
TemplateFolder=Template directory (defaults to "Vorlagen").
EMailAccount=Set as default signature for this Outlook profile (otherwise the default profile is used).
SetForAllEMailAccounts=Set as default signature for all Outlook profiles (0/1).
AppDataPath=Destination directory (defaults to "%appdata%\Microsoft\Signatures" on Windows and the current working directory on any other OS).
NoNewMessageSignature=Disable setting the default new message signature (0/1).
NoReplyMessageSignature=Disable setting the default reply message signature (0/1).
FixedSignType=
FixedSignTypeForDN1=
[...]Name of the new message template. Use "FixedSignTypeForDN1 ... n" to generate different signatures for each base DN.
FixedSignTypeReply=
FixedSignTypeReplyForDN1=
[...]Name of the the reply message template. Use "FixedSignTypeReplyForDN1 ... n" to generate different signatures for each base DN.
FixedSignTypeNoMobile=Name of an optional alternative new message template (originally intended to generate a signature without mobile phone number).
FixedSignTypeReplyNoMobile=Name of an optional alternative reply message template (originally intended to generate a signature without mobile phone number).
TargetSignType=Target name of the new message signature (otherwise the name of the template is used).
TargetSignTypeReply=Target name of the reply message signature (otherwise the name of the template is used).
PlaceholderSymbol=Delimiter for placeholders (defaults to "@").
LogFile=Not supported.
EmptySignatureFolder=Empty the destination directory before generating signatures (0/1). Use "-force" to suppress the confirmation message!
-
Supports GIF, PNG and JPEG.
-
Supports per user images (copies username.(gif|png|jpg) to portrait.(gif|png|jpg)!).
-
Supports Outlook 2010 and 2016 (and probably 2019 and 365 as well)
-
Plain text and HTML templates should be UTF-8 encoded!
-
Settings for "-ini" are relative to the program's base directory.
-
The field mapping is more flexible and no longer limited to the ones listed in the example configuration file, you can basically use any combination of placeholder and LDAP attribute.
-
Features a new and more powerful template parser based on go's template package ("-newparser", fixed delimiter: "[[ ... ]]", have a look at the examples!).
-
Relying on a GPO for setting the default signature on a company wide level should be preferred over the software's approach to manipulate the user's registry.