Hot answers tagged

18

Hooks are rather abstract and require you to have a working plugin/module with your own hooks setup. So before you go any further I would be sure you have a good grasp on how to use the most basic forms of hooks. It might be wise to even write a simple extension just to go through the process. Postmaster extends ExpressionEngine's native handling of hooks. ...


9

It can be many reason for this - first needs to check if domain or Server IP (can be for shared hosting) was not blacklisted. Then check email header - you will have a whole picture if any spam flags here, servers ip, from what server is come etc. For example your email can failed DomainKeys (DKIM) test. What I usually do, is setup mail setting for using ...


7

A couple of things to check: Make sure that you're not sending confirmations to and from the same address with a Google-hosted email address. It will often discard such messages automatically. CartThrob just recently added a "Reply-to" field for notifications - use that for the customer's email ({email}), and use a different address on the same domain in ...


6

I worked through this with Justin and wanted to post this so others can use it. Basically I have a mod file with a custom function that logs when an image is downloaded. My variables are all logged after being set up. Here's the variables: $my_download = array(); $my_download["size"] = $image_size; $my_download["entry_id"] = $entry_id; $...


6

Take a look at Email-from-Template. This plugin sends its tag contents in an email (with or without echoing that content back to the template). By placing it in a template, and inside a conditional if necessary, you can trigger an email to be sent as needed. Example Usage: {exp:email_from_template to="admin@ee.com" from="server@ee.com" subject="Hello!...


6

Have you considered using Freeform? http://devot-ee.com/add-ons/freeform It is not advised to run PHP inside of your templates for various reasons. You are much better off using an addon to accomplish this.


6

I'm pretty sure you can do it with MX Notify Control and it's free: http://devot-ee.com/add-ons/mx-notify-control I've never tried it before so, consider it an option vs a recommendation if that makes sense :) And just for the sake of being thorough there is also Postmaster though, it of course isn't free: http://devot-ee.com/add-ons/postmaster


6

These posts gave me the hints I needed. For others it seems they may have to change email_newline and email_crlf to "\r\n" in your config/bootstrap. CodeIgniter has a smtp_crypto config that can be either ssl or tls. I needed tls to work with AmazonSES. The actual config used by EE is email_smtp_crypto (same for port, docs say smtp_port but in the source ...


5

Not a complete answer though, I feel it could be one piece of the puzzle or at least an option. Have you checked out Postmaster yet? http://devot-ee.com/add-ons/postmaster Postmaster is the definitive solution for emailing channel entries within ExpressionEngine. Create beautiful email templates using the live preview, and impose extremely fine ...


5

With Google's move toward stricter security measures regarding how third-parties connect with their services, there's now another step required to set up ExpressionEngine to send email through Gmail. Beginning to end, here's how to do it. Step 1: Allow "Less Secure Apps" to Access Gmail Sign in to the Gmail (or Gmail-powered Google Apps) account you want ...


5

By default the member variables use the logged in member, but the hooks API gives developers the ability to override that, which Profile:edit does. Each hook inherits the same rules, but they can break them at will. I will try to improve documentation on special exceptions. So when you register or edit a profile, the member data that gets passed to the ...


5

Easiest method is to use the query module and get the distinct email addresses from all the authors to a particular channel. This would list all the emails for authors in channel_id 12 {exp:query sql="SELECT DISTINCT exp_members.email FROM exp_members LEFT JOIN exp_channel_titles ON exp_members.member_id = ...


5

When I've had this happen before with regular php mail code, I've used something like this: $sent =""; if ($sent == '0') { $this->EE->email->Send(); $sent = 1; }


5

I’ve been down this road a number of times, and have even had problems with emails originating out of an EngineHosting server while email was handled through Google Apps. There’s probably a problem between what your server is reporting its address as and what your email that’s being generated says its from. I would highly recommend moving all transactional ...


5

EE's contact form does not support custom fields per se (i.e., it doesn't support the custom fields you'd use for your channels), but you can have multiple fields populate the message by naming each with an array syntax: <label for="message">Your Message</label> <textarea name="message[]" id="message"></textarea> <label for="how"&...


5

Solspace's Freeform has a dynamic recipients functionality that just might serve your needs. I quote: recipients="yes" This parameter allows you to let your users select recipient email addresses dynamically within the form itself. So for example, you can have a dropdown select menu that allows your users to select the destination for their email (...


5

I'm going to suggestion bypassing the companies setting all together. This is partially to avoid troubleshooting them (if it's the EE install, you'll run into the same issues with my suggestion), but mostly because I've become a big fan of monitoring transactional email. We work with nonprofits, but I still agree that the missed opportunity is there. But ...


5

In order to allow the apostrophe, I had to hack the core code. Specifically, a CodeIgniter helper within: /system/codeigniter/system/helpers/email_helper.php In there, find around line 40 this: return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $address)) ? FALSE : TRUE; Then replace that line with this instead: ...


5

You should be able to use an available plugin to encode things for URLs. I haven't tried or used this plugin, but I think the syntax would be something like this: <a href="{mailto_email}?subject={exp:url_encoder method='rawurlencode'}{title}{/exp:url_encoder}" target="blank"> As a last resort, you could also use PHP and run rawurlencode() on it, like ...


4

Postmaster can definitely do this provided you use a mailing service, and not using the built-in communication module. You could however write an email service for Postmaster that reused your mailing list vs. deferring to MailChimp or something. I advocate using MailChimp or CampaignMonitor over another services because sending email is otherwise unreliable....


4

There used to be an addon (for EE 1.x?) that was called Redline that would show the diff between entry versions. Great to hear this is coming sometime in Better Workflow though!


4

Pretty sure because of Gmail's forced use of SSL connections this work around is still required in EE 2. I don't remember this being corrected in recent releases of EE v2 but I could be mistaken: https://expressionengine.com/forums/archive/topic/169641/is-smtp-configuration-for-gmail-possible


4

When an order is placed, any email triggered by the default order status will be sent. For example, if your default order status is "New", and you have an "Order Confirmation" email template set up, and your email template is assigned to the "New" status, it will get sent when each order is placed (this is set up when you first install Store). Currently ...


4

No there isn't. The internal mailing list just handles email addresses. It's not meant to be a full Email Management System, just a method for you to provide general communications via ExpressionEngine. ExpressionEngine integrates well with numerous other Email Management Solutions (EMS). You can use MailChimp, Campaign Monitor, Emma, Constant Contact, etc. ...


4

I had the same issue, and ultimately discovered it was caused by a setting in Focus Labs EE Master Config. In config.master.php around line 258 you'll find: /** * Member-based settings */ //$env_config['profile_trigger'] = rand(0,time()); // randomize the member profile trigger word because we'll never need it I'm not sure why randomising the ...


4

it is not possible to do this with standard EE function. So you need make a new add-on - module with action which you can run by cron. Every time when cron will be run, you can get unread PM for last 24 using next query: SELECT md.message_id as message_id, md.message_date as message_date, md.message_subject as subject, md.message_body as message, mc....


4

You might want to take a look at Postmaster (https://objectivehtml.com/postmaster/) for doing this. With Postmaster I believe you can create 'tasks' which can be executed by cron and it provides facilities to handle custom messaging etc. It's also possible to set up notifications with some templating logic and these can also be triggered via a cron. I'm ...


4

You should be able to do this with the query module in a template (or with a query directly to your database, of course). Something simple like this should output what you need: {exp:query sql="SELECT email FROM exp_mailing_list WHERE list_id = '1'"} {email} {/exp:query} EDIT To improve this furher, you could use the Download Content plugin like this: {...


4

The WYGWAM field has this setting option. I just used it on my last project. Worked perfectly.


4

The best way to fight with email spam is to have good spam filters :) set emails to be automatically converted into images, with hyperlinks beneath Spiders is not looking on visible text only but on hyperlinks also, so is not enough to replace text only. You can try MD Spam Me Not or Obfuscatee - this addons is do emails obfuscation.


Only top voted, non community-wiki answers of a minimum length are eligible