Friday, March 19th, 2010 (updated 26 Jan ’12)

Send Email v1.4 (Free)


This free plugin lets you send an email from within an ExpressionEngine template without the user submitting a form. It works in both EE v1.x and v2.x.

It’s probably most likely to be useful when placed within an embedded template that is loaded using ajax by some user action in the parent template.

Michael Rog has written a similar plugin: Email-from-Template.


Thu 15 Apr ’10

Sophia Browne

Does this plugin allow dynamic variables?  I am trying to use {site_name} and {webmaster_email} and they are not being processed.

Thu 15 Apr ’10

Adam Khan

Sophia, try parse=“inward”. If that doesn’t work, I’ll have to work on it to get variables working.

Thu 15 Apr ’10

Sophia Browne

Hi, I tried the parse=inward and that didn’t work either.

Fri 16 Apr ’10

Adam Khan

Sophia, thanks for trying. I’ve added that to the plugin’s roadmap. Can’t say with confidence when exactly I’ll get to it though.

Fri 16 Apr ’10

Sophia Browne

Ok, that’s no problem.  I will just workaround it.

Thanks anyways.

Tue 20 Apr ’10


I’m very interested in this. I’ve been asked to create a sort of tell-a-friend/e-card that self submits after a freeform is submitted. This might be a great way to make that happen.

Tue 4 May ’10

Nick Benson

I’m getting the following error on my EE 2 site, any thoughts?


A PHP Error was encountered

Severity: Notice

Message: Use of undefined constant PATH_CORE - assumed ‘PATH_CORE’

Filename: send_email/pi.send_email.php

Line Number: 74

Sun 11 Jul ’10


Any news following on from Nick Benson’s comment above? Having the same issue…

Tue 10 Aug ’10

Kyle Batson

I have a request that allows using conditionals inside the message. I’m populating the message field with some custom fields, and if that custom field is not present, I don’t want it to show up. Something simple like {if custom_field}Content here{/if}

Also, might you know why having ‘http://’ in the message field outputs as encoded HTML character entities instead? Is there a way this can be switched from within the plugin?


Wed 25 Aug ’10

Adam Khan

Sorry for not responding, people, I’ve been a bit swamped and haven’t had time to address issues on the free plugins.

Nick and JimboJ, I haven’t yet figured out why the PHP notice is happening, sorry!

Kyle, the encoding is happening within EE’s built-in functions that the plugin’s calling—I’ll have to look further to see how to disable that.

Wed 29 Sep ’10

Sophia Browne


I added to the send email plugin since I had the same HTML character entities problem.
I added a function from the Regular expressions class to the -> $E->message($REGX->unhtmlentities($message));  Don’t forget to call the class -> global $REGX; // EEv1 syntax.

The unhtmlentities function takes a string and returns with all entities turned into their characters.

In a bit of a hurry, so I have to keep this short, hope this helps!

Mon 10 Jan ’11

Adam Khan

Sophie, it’s months later, my apologies for leaving you in the lurch there, presume you got it fixed!

Mon 10 Jan ’11

Sophia Pitt-Browne

Yes Adam, I did!

Thu 17 Mar ’11


Re: Use of undefined constant PATH_CORE

Looking at the file and the structure of 1.6 V 2.0.1 that the file it’s referencing “” no longer exists in 2.1.X

No idea how to amend or what to amend to :(

Fri 22 Apr ’11


I’m getting the same PHP error as Nick, did anyone ever find a way round it?

Tue 24 May ’11


Any idea when yo might add the functionality for variables?

Tue 2 Aug ’11


I got this to work on EE 2.1.3 by replacing the send email code with this:

        // Send email
        if ($from_email && $from_name)
          $this->EE->email->from($from_email, $from_name);
          $this->EE->email->from($PREFS->ini(‘webmaster_email’), $PREFS->ini(‘webmaster_name’));
        if ($subject)
          $this->EE->email->subject( “Email from ” . $PREFS->ini(‘site_name’) );

Mon 23 Jan ’12

Adam Khan

Tiffany, a very belated thanks for fixing the plugin. Working for me on EE2. Not sure now though on EE1, will have to check.

Wed 7 Mar ’12

Toby Callinan

Just wondering…

Does this plugin work when it’s submit? It mentions that it works without submitting a form. Does that mean I can set up a cron job that will then just send an email?

I’m tring to find a method to send emails after a query I the DB that pulls out certain users - ths might be perfect!

Wed 7 Mar ’12

Adam Khan


No form involved, just sends an email when the template containing the tag is loaded. Nice when loaded with ajax.

Tue 10 Apr ’12

Rob Stokes

If I understand correctly ... the from name, from email address, to email address and subject all have to be hard-coded into the template. It is not possible, for example, to look at a channel entry and pull out the details from there?

I was hoping to use this plug-in to send a “thank you” notification email to a user after they had filled in a form (with which I am using Safecracker to store the entered details in a channel) on the site. The “to” email address at the very least will be dynamic.

Can I not do this with this plug-in?

Tue 10 Apr ’12

Rob Stokes

Thought I’d better say ... I’ve tried putting the {exp:channel:entries} code directly within the send_email tag, as well as calling the result via a snippet and an embed, but none worked. Works fine when I hard-code the details.

Fri 11 May ’12

Michael Rog

Rob, try wrapping the Send_email plugin INSIDE of the Channel:Entries tag, and use parse=“inward” on the outer tag. Then you can use the email address variables from your entries as the parameters of Send_email.

Thu 21 Jun ’12

Laurence Cope

This is a great little plugin. I am combining it with EEI_TCPDF to generate a PDF from a template then saves it, and uses Send Email to attach and email it.

So I have modified your file to add attach, I think you should update it, its very useful…

$attachment = $TMPL->fetch_param(‘attachment’);
// Attach attachment
if($attachment != ‘’)

Fri 22 Jun ’12

Adam Khan

Thanks Laurence, will add that in for next release!

Fri 28 Sep ’12

Craig Allen

I’ve tried it with mailtype=“html”, but all the html is being displayed in email clients. What might be the cause of this? I’m using EE 2.5.2

Thu 26 Jun ’14

Jamie Blacker

It says that the mailtype parameter was added in 2010, but it doesn’t seem to be in V1.4.
To add it in:
$mailtype = $TMPL->fetch_param(‘mailtype’);
if ($mailtype == “html”)
$this->EE->email->mailtype = ‘html’;

Post a comment





Your comment:

Please answer the following question to assure your intentions are honorable: What is the capital of France? (5 characters required)

Remember my personal information
Notify me of follow-up comments?