Frequently Asked Questions

Can I use EmailJS for free?


You can send up to 200 emails per month completely for free. If you need to send more emails, want to use advanced features like file attachments or remove our footer from the emails – please take a look at our plans

Can't I use services like Sendgrid or Mandrill directly?

All email services require some sort of authentication to send the emails on your behalf. That makes it a really bad idea to use them directly from client side – revealing your password or your secret keys will allow anyone send emails on your behalf.

EmailJS keeps your authentication details on the server side, and the client side code just triggers a predefined email template, similarly to how any client-server application is working.

Does EmailJS expose my account to spam?

A better way to think of EmailJS in terms of security is not as a service that allows you to send email from Javascript, but rather as a service that allows you to create predefined set of emails via the dashboard, and then just trigger the emails from the Javascript. This is quite similar to how emails are usually sent via a proprietary server code, and also to the way products like Intercom or are working.

Additionally, we've also developed various tools to prevent abuse – for instance, we have IP based rate limits to prevent bots from spamming, whitelist of origin, and also support reCAPTCHA tests to make sure that a human is sending the email (although it's up to the developer to turn this feature on).

Is it possible to send embedded attachment?

It's true! To do this, you need to open the code editor (<> icon) and add an IMG tag with a cid. When cid is the parameter name of your attachment. For a static attachment, this is the name of the file with the extension.

For example, my parameter name for attachment is "nice_cat", so I need to add IMG tag:

<img src="cid:nice_cat" alt="My Cat">

Note: This works only for images.

Can I send HTML emails?

Of course!

HTML emails are fully supported, and you can create them either using our visual text editor, or by entering the HTML code directly. That said, most email clients don't fully support all the HTML and CSS features, so please refer to this Campaign Monitor guide to learn about the various restrictions.

What about plain text emails?

Our service sends emails as multipart related! This means that emails contain HTML and plain text. If HTML is not supported or denied, the text part will be displayed.

Error: Token has been expired or revoked

Google changes your grant permissions every time your settings or preferences change. To fix this error, you need to disconnect your Google account from our Gmail service and reconnect it.

Can I send HTML from my code?

Yes! To do this, you need to use a triple brace instead of double in your template.

For example: {{{ my_html }}}

Note: Be careful, this is a security issue.

Can I set a whitelist for my domain?

You can!

To use the whitelist, you could visit our Dashboard: Account -> Settings.

The source header is used, and its syntax is:

<scheme> "://" <hostname> [ ":" <port> ]

Note: Comma separated list

My value has been converted to &#x2F; and etc

Dynamic parameters in the high-risk zone, so our service encodes all dangerous characters. However, you can disable it for a specific parameter using the triple "{".

For example, if you want to disable this encoding for a subject, you can use it as:

{{{ my_subject_parameter }}}

Note: Be careful, this is a security issue.

Ask A Question