├── README.md ├── apple-mail.sh ├── outlook-mac.sh └── outlook-windows.ps1 /README.md: -------------------------------------------------------------------------------- 1 | # Signature Installer 2 | 3 | ## Apple Mail – [apple-mail.sh](apple-mail.sh) 4 | 1. Open **Mail** 5 | 2. Preferences / Signatures 6 | 3. Create a new one (or edit an existing) with dummy text 7 | 4. Quit from **Mail** 8 | 5. Open **Terminal** 9 | 6. Copy-Paste-Run this command: 10 | ``` 11 | curl https://raw.githubusercontent.com/0xB4LINT/SignatureInstaller/master/apple-mail.sh | bash 12 | ``` 13 | 7. Enter the URL of the HTML signature 14 | 8. Open **Mail** and use the new signature 15 | 16 | ## Microsoft Outlook (macOS) – [outlook-mac.sh](outlook-mac.sh) 17 | 1. Open **Terminal** 18 | 2. Copy-Paste-Run this command: 19 | ``` 20 | curl https://raw.githubusercontent.com/0xB4LINT/SignatureInstaller/master/outlook-mac.sh | bash 21 | ``` 22 | 3. Enter the URL of the HTML signature 23 | 4. Open **Outlook** and use the new signature 24 | 1. Preferences / Signatures 25 | 26 | ## Microsoft Outlook (Windows) – [outlook-windows.ps1](outlook-windows.ps1) 27 | 1. **Command Prompt** *(cmd.exe)* 28 | 2. Copy-Paste-Run this command: 29 | ``` 30 | powershell.exe -Command "IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/0xB4LINT/SignatureInstaller/master/outlook-windows.ps1')" 31 | ``` 32 | 3. Enter the URL of the HTML signature 33 | 4. Open **Outlook** and use the new signature 34 | 1. File / Options 35 | 2. Mail / Signatures 36 | -------------------------------------------------------------------------------- /apple-mail.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | load_signature_file() { 4 | echo "searching signature file..." 5 | 6 | local SIGNATURES_PATH_ICLOUD_V5="$HOME/Library/Mobile Documents/com~apple~mail/Data/V5/Signatures/" 7 | local SIGNATURES_PATH_ICLOUD_V4="$HOME/Library/Mobile Documents/com~apple~mail/Data/V4/Signatures/" 8 | local SIGNATURES_PATH_ICLOUD_V3="$HOME/Library/Mobile Documents/com~apple~mail/Data/V3/Signatures/" 9 | local SIGNATURES_PATH_ICLOUD_V2="$HOME/Library/Mobile Documents/com~apple~mail/Data/V2/Signatures/" 10 | local SIGNATURES_PATH_NON_ICLOUD_V5="$HOME/Library/Mail/V5/MailData/Signatures/" 11 | local SIGNATURES_PATH_NON_ICLOUD_V4="$HOME/Library/Mail/V4/MailData/Signatures/" 12 | local SIGNATURES_PATH_NON_ICLOUD_V3="$HOME/Library/Mail/V3/MailData/Signatures/" 13 | local SIGNATURES_PATH_NON_ICLOUD_V2="$HOME/Library/Mail/V2/MailData/Signatures/" 14 | 15 | if [ -d "$SIGNATURES_PATH_ICLOUD_V5" ]; then 16 | echo "found iCloud signature directory" 17 | local SIGNATURE_PATH="$SIGNATURES_PATH_ICLOUD_V5" 18 | elif [ -d "$SIGNATURES_PATH_ICLOUD_V4" ]; then 19 | echo "found iCloud signature directory" 20 | local SIGNATURE_PATH="$SIGNATURES_PATH_ICLOUD_V4" 21 | elif [ -d "$SIGNATURES_PATH_ICLOUD_V3" ]; then 22 | echo "found iCloud signature directory" 23 | local SIGNATURE_PATH="$SIGNATURES_PATH_ICLOUD_V3" 24 | elif [ -d "$SIGNATURES_PATH_ICLOUD_V2" ]; then 25 | echo "found iCloud signature directory" 26 | local SIGNATURE_PATH="$SIGNATURES_PATH_ICLOUD_V2" 27 | elif [ -d "$SIGNATURES_PATH_NON_ICLOUD_V5" ]; then 28 | echo "found non-iCloud signature directory" 29 | local SIGNATURE_PATH="$SIGNATURES_PATH_NON_ICLOUD_V5" 30 | elif [ -d "$SIGNATURES_PATH_NON_ICLOUD_V4" ]; then 31 | echo "found non-iCloud signature directory" 32 | local SIGNATURE_PATH="$SIGNATURES_PATH_NON_ICLOUD_V4" 33 | elif [ -d "$SIGNATURES_PATH_NON_ICLOUD_V3" ]; then 34 | echo "found non-iCloud signature directory" 35 | local SIGNATURE_PATH="$SIGNATURES_PATH_NON_ICLOUD_V3" 36 | elif [ -d "$SIGNATURES_PATH_NON_ICLOUD_V2" ]; then 37 | echo "found non-iCloud signature directory" 38 | local SIGNATURE_PATH="$SIGNATURES_PATH_NON_ICLOUD_V2" 39 | else 40 | echo "signature directory not found" 41 | exit 1 42 | fi 43 | 44 | SIGNATURE_FILE=`ls -1t "$SIGNATURE_PATH"*.mailsignature | head -n 1` 45 | 46 | if [[ $? -ne 0 ]] || [[ -z "$SIGNATURE_FILE" ]]; then 47 | echo "listing error, create a signature" 48 | exit 1 49 | fi 50 | } 51 | 52 | download_signature() { 53 | echo "downloading signature..." 54 | 55 | echo "enter url:" 56 | exec 3<>/dev/tty 57 | read -u 3 SIGNATURE_URL 58 | 59 | if [[ -z "$SIGNATURE_URL" ]]; then 60 | echo "missing url" 61 | exit 1 62 | fi 63 | 64 | SIGNATURE_HTML=`curl -s "$SIGNATURE_URL"` 65 | 66 | if [[ -z "$SIGNATURE_HTML" ]]; then 67 | echo "empty signature url response" 68 | exit 1 69 | fi 70 | 71 | echo "done." 72 | } 73 | 74 | setup_signature() { 75 | echo "setting up signature..." 76 | 77 | i=0; 78 | SIGNATURE="" 79 | while read line; do 80 | if [[ -z "$line" ]]; then 81 | break 82 | fi 83 | 84 | if [[ "$i" -eq 0 ]]; then 85 | SIGNATURE="$line" 86 | else 87 | SIGNATURE="$SIGNATURE\n$line" 88 | fi 89 | 90 | i=$((i + 1)) 91 | done < "$SIGNATURE_FILE" 92 | 93 | SIGNATURE="$SIGNATURE\n\n$SIGNATURE_HTML" 94 | 95 | chflags nouchg "$SIGNATURE_FILE" 96 | echo -e "$SIGNATURE" > "$SIGNATURE_FILE" 97 | chflags uchg "$SIGNATURE_FILE" 98 | 99 | echo "done." 100 | } 101 | 102 | 103 | load_signature_file 104 | download_signature 105 | setup_signature 106 | -------------------------------------------------------------------------------- /outlook-mac.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | download_signature() { 4 | echo "downloading signature..." 5 | 6 | echo "enter url:" 7 | exec 3<>/dev/tty 8 | read -u 3 SIGNATURE_URL 9 | 10 | if [[ -z "$SIGNATURE_URL" ]]; then 11 | echo "missing url" 12 | exit 1 13 | fi 14 | 15 | SIGNATURE_HTML=`curl -s "$SIGNATURE_URL"` 16 | 17 | if [[ -z "$SIGNATURE_HTML" ]]; then 18 | echo "empty signature url response" 19 | exit 1 20 | fi 21 | 22 | echo "done." 23 | } 24 | 25 | setup_signature() { 26 | echo "setting up signature..." 27 | 28 | SIGNATURE_HTML_ESCAPED=`echo "$SIGNATURE_HTML" | sed -e 's/"/\\\"/g'` 29 | 30 | osascript <