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 to 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 a 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, the 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 attachments?

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 (opens new window) 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.

Can I send HTML from my code?

Yes! To do this, you need to use a triple brace instead of a double one 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: Settings -> Domains.

The source header is used, and its syntax is:

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

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