gog-html-email
v1.0.0Send beautifully formatted HTML emails via gog CLI with templates and styling
Installation
gog-html-email
Enhanced HTML email formatting for gog CLI with ready-to-use templates.
How to Send HTML Emails
ALWAYS use this exact workflow:
- Read the appropriate template file from
workspace/skills/gog-html-email/templates/ - Replace placeholders using
sedcommands - Send via
gog gmail send --body-html
Example:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message here/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
For multi-paragraph messages:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
# Replace [MESSAGE] with multiple <p> tags for proper spacing
MESSAGE='<p style="margin: 0 0 16px 0;">First paragraph.</p><p style="margin: 0 0 16px 0;">Second paragraph.</p><p style="margin: 0 0 16px 0;">Third paragraph.</p>'
HTML=$(echo "$TEMPLATE" | sed "s|[MESSAGE]|$MESSAGE|g" | sed 's/[NAME]/John/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
DO NOT:
- Manually construct HTML strings
- Use heredocs or multi-line strings
- Include literal n characters in HTML
- Put multiple paragraphs in a single <p> tag
Template Selection Guide
Choose the right template based on the email purpose:
Business/Professional:
- basic.html - Simple professional emails
- meeting.html - Meeting invitations (requires: NAME, TOPIC, DATE, TIME, DURATION, LOCATION, SIGNATURE)
- follow-up.html - Follow-up emails
- status-update.html - Project updates
- invoice.html - Invoices and payments
- button.html - Emails with call-to-action buttons
- newsletter.html - Newsletters
Islamic/Religious:
- jummah.html - Friday greetings (Jummah Mubarak)
- eid.html - Eid celebrations (Eid Mubarak)
- ramadan.html - Ramadan greetings (Ramadan Mubarak)
Celebrations:
- birthday.html - Birthday wishes
- anniversary.html - Anniversary wishes
- congratulations.html - Congratulations messages
- new-year.html - New Year wishes (requires: NAME, MESSAGE, YEAR, SIGNATURE)
Other:
- welcome.html - Welcome new users
- thank-you.html - Thank you messages
- highlight.html - Important announcements
- multi-paragraph.html - Long-form content
HTML Template Files
All templates are available in the templates/ directory. Each template uses placeholder variables in [BRACKETS] that you can replace with actual content.
Available Templates
- basic.html - Simple professional email
-
Placeholders:
[NAME],[MESSAGE],[SIGNATURE] -
highlight.html - Email with highlighted box
-
Placeholders:
[NAME],[HIGHLIGHT_MESSAGE],[MESSAGE],[SIGNATURE] -
button.html - Email with call-to-action button
-
Placeholders:
[NAME],[MESSAGE],[BUTTON_URL],[BUTTON_TEXT],[SIGNATURE] -
multi-paragraph.html - Multiple paragraph email
-
Placeholders:
[NAME],[PARAGRAPH_1],[PARAGRAPH_2],[PARAGRAPH_3],[SIGNATURE] -
meeting.html - Meeting invitation
-
Placeholders:
[NAME],[TOPIC],[DATE],[TIME],[DURATION],[LOCATION],[SIGNATURE] -
follow-up.html - Follow-up email
-
Placeholders:
[NAME],[TOPIC],[MESSAGE],[SIGNATURE] -
newsletter.html - Newsletter format
-
Placeholders:
[NEWSLETTER_TITLE],[DATE],[SECTION_1_TITLE],[SECTION_1_CONTENT],[SECTION_2_TITLE],[SECTION_2_CONTENT] -
invoice.html - Invoice notification
-
Placeholders:
[NAME],[INVOICE_NUMBER],[DATE],[AMOUNT],[DUE_DATE],[DESCRIPTION],[PAYMENT_URL],[SIGNATURE] -
welcome.html - Welcome email with CTA
-
Placeholders:
[NAME],[MESSAGE],[GET_STARTED_URL],[SIGNATURE] -
status-update.html - Project status update
- Placeholders:
[NAME],[PROJECT_NAME],[COMPLETED_ITEMS],[IN_PROGRESS_ITEMS],[BLOCKED_ITEMS],[NEXT_STEPS],[SIGNATURE]
- Placeholders:
Special Occasion Templates
-
jummah.html - Jummah Mubarak greeting
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Islamic greeting with blue gradient background
- Placeholders:
-
eid.html - Eid Mubarak greeting
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Green gradient background with Islamic blessings
- Placeholders:
-
ramadan.html - Ramadan Mubarak greeting
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Purple gradient background with Ramadan wishes
- Placeholders:
-
birthday.html - Birthday wishes
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Pink gradient background with celebration emojis
- Placeholders:
-
anniversary.html - Anniversary wishes
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Pink-yellow gradient with romantic theme
- Placeholders:
-
congratulations.html - Congratulations message
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Gold-blue gradient with success theme
- Placeholders:
-
thank-you.html - Thank you message
- Placeholders:
[NAME],[MESSAGE],[SIGNATURE] - Features: Soft pastel gradient with gratitude theme
- Placeholders:
-
new-year.html - New Year wishes
- Placeholders:
[NAME],[MESSAGE],[YEAR],[SIGNATURE] - Features: Purple gradient with celebration theme
- Placeholders:
Using Templates Directly
# Read template, replace placeholders, and send
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message here/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Quick Examples
Basic email:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Just wanted to check in on the project status./g' | sed 's/[SIGNATURE]/Sarah/g')
gog gmail send --to [email protected] --subject "Project Check-in" --body-html "$HTML"
Meeting invitation:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/meeting.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/Team/g' | sed 's/[TOPIC]/Q1 Planning/g' | sed 's/[DATE]/March 15, 2026/g' | sed 's/[TIME]/2:00 PM/g' | sed 's/[DURATION]/1 hour/g' | sed 's/[LOCATION]/Conference Room A/g' | sed 's/[SIGNATURE]/Alex/g')
gog gmail send --to [email protected] --subject "Q1 Planning Meeting" --body-html "$HTML"
Email with button:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/button.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/Sarah/g' | sed 's/[MESSAGE]/Please review the latest document./g' | sed 's|[BUTTON_URL]|https://docs.example.com/report|g' | sed 's/[BUTTON_TEXT]/View Document/g' | sed 's/[SIGNATURE]/Mike/g')
gog gmail send --to [email protected] --subject "Document Review" --body-html "$HTML"
Jummah Mubarak:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/jummah.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/Ahmed/g' | sed 's/[MESSAGE]/Wishing you a blessed Friday filled with peace and blessings./g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Jummah Mubarak" --body-html "$HTML"
Eid Mubarak:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/eid.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/Family/g' | sed 's/[MESSAGE]/May this Eid bring joy, happiness, and prosperity to you and your loved ones./g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Eid Mubarak" --body-html "$HTML"
Birthday wishes:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/birthday.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/Sarah/g' | sed 's/[MESSAGE]/Hope your special day is filled with joy, laughter, and wonderful memories!/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Happy Birthday!" --body-html "$HTML"
Best Practices
- Use template files - All templates are pre-formatted and tested
- Single-line HTML - Templates are already single-line to avoid formatting issues
- Inline CSS - All templates use inline styles for email client compatibility
- Max Width - Templates are set to 600px for optimal viewing
- System Fonts - Templates use
-apple-system, BlinkMacSystemFont, Segoe UI, Robotofor best rendering - Test First - Send to yourself before sending to recipients
- Replace all placeholders - Make sure to replace all
[PLACEHOLDER]values with actual content
Customizing Templates
You can customize template colors, fonts, and styling by adding additional sed commands to replace CSS values.
Common Customizations
Change gradient colors:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/birthday.html)
# Replace pink gradient with blue gradient
HTML=$(echo "$TEMPLATE" | sed 's/#f093fb/#4facfe/g' | sed 's/#f5576c/#00f2fe/g')
# Then replace placeholders and send
HTML=$(echo "$HTML" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Change primary color:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
# Change all blue (#007bff) to purple (#667eea)
HTML=$(echo "$TEMPLATE" | sed 's/#007bff/#667eea/g')
HTML=$(echo "$HTML" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Change background color:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/highlight.html)
# Change highlight box from light gray to light blue
HTML=$(echo "$TEMPLATE" | sed 's/#f8f9fa/#e3f2fd/g')
HTML=$(echo "$HTML" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Change font size:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
# Make heading larger (36px to 48px)
HTML=$(echo "$TEMPLATE" | sed 's/font-size: 36px/font-size: 48px/g')
HTML=$(echo "$HTML" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Change layout alignment (left-align instead of center):
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/basic.html)
# Remove centering: change "margin: 0 auto" to "margin: 0"
HTML=$(echo "$TEMPLATE" | sed 's/margin: 0 auto/margin: 0/g')
HTML=$(echo "$HTML" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Color Palette Reference
Current template colors:
Birthday (Pink):
- Gradient: #f093fb → #f5576c
- Heading: #f5576c
Eid (Green):
- Gradient: #11998e → #38ef7d
- Heading: #11998e
Jummah (Blue):
- Gradient: #4facfe → #00f2fe
- Heading: #4facfe
Ramadan (Purple):
- Gradient: #667eea → #764ba2
- Heading: #667eea
Anniversary (Pink-Yellow):
- Gradient: #fa709a → #fee140
- Heading: #fa709a
Congratulations (Gold-Blue):
- Gradient: #ffd89b → #19547b
- Heading: #19547b
Thank You (Pastel):
- Gradient: #a8edea → #fed6e3
New Year (Purple):
- Gradient: #667eea → #764ba2
- Heading: #667eea
Suggested alternative palettes:
- Ocean: #2E3192 → #1BFFFF
- Sunset: #FF512F → #F09819
- Forest: #134E5E → #71B280
- Royal: #8E2DE2 → #4A00E0
- Warm: #FF6B6B → #FFE66D
- Cool: #4ECDC4 → #556270
Advanced Customization
Multiple color changes:
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/birthday.html)
# Change to ocean theme
HTML=$(echo "$TEMPLATE" |
sed 's/#f093fb/#2E3192/g' |
sed 's/#f5576c/#1BFFFF/g' |
sed 's/[NAME]/John/g' |
sed 's/[MESSAGE]/Your message/g' |
sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Create custom template variant:
# Save customized version as new template
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/birthday.html)
echo "$TEMPLATE" | sed 's/#f093fb/#2E3192/g' | sed 's/#f5576c/#1BFFFF/g' > workspace/skills/gog-html-email/templates/birthday-ocean.html
# Now use the custom template
TEMPLATE=$(cat workspace/skills/gog-html-email/templates/birthday-ocean.html)
HTML=$(echo "$TEMPLATE" | sed 's/[NAME]/John/g' | sed 's/[MESSAGE]/Your message/g' | sed 's/[SIGNATURE]/Your Name/g')
gog gmail send --to [email protected] --subject "Subject" --body-html "$HTML"
Notes
- Templates are single-line HTML to prevent formatting issues
- For complex layouts (tables, multiple sections), create a custom template file
- Always test HTML emails in multiple clients (Gmail, Outlook, Apple Mail)
- Use plain text (
--body) for simple messages without formatting needs