Routing Emails

For those of you who use Epicor routing to send out invoice and statement emails to customers, what kind of email server are you using? We have this random email failure issue and it is like dealing with a blackbox. We have used Office 365, outgoing SMTP and so on…

Would appreciate your feedback!

We have O365 but we use Mailgun for sending emails out of Epicor. It works great for us. We can log in to the Mailgun website to see logs, bounces, opens, etc.

2 Likes

@Samm - we also use Exchange Online (O365) and realized that it was stopping our email output because it was ‘detecting’ a possible SPAM/Open Relay situation. We had to alter things a bit and set up a SMTP relay whose IP was specially whitelisted in Exchange Online.

1 Like

This happened to us as well. We had DKIM and all that fancy stuff set up and still were put on a global spam watchlist.

How do you setup Mailgun in Epicor?

I was wondering the same thing.

1 Like

I looked quickly and it looks like it’s a bit of code in a BPM custom code widget…

1 Like

In routing? interesting…

In routing @MikeGross ?

Are these REST calls? Mailgun does have an API as does Twilio’s SendGrid. You can simplify the process by avoiding all the SMTP code. Like @lgraham says, these services take care of bounces, unsubscribes, validation, etc.

I have avoided a mail API because of the rate limits and I am not sure how those work with, for example, a batch of 60 invoices. If they have a rate limiter of 15 per second, we certainly wouldn’t want to have failure to send.

At one point, SendGrid had a 600 messages per minute but I think they got rid of that. Remember, this is REST to them and they handle all the SMTP on your behalf and staying compliant with SPF requirements (DSN lookups for example).

Can you use SendGrid in print routing?

Wouldn’t you have to set up the internal SMTP as a relay to some sort of interface of theirs? I don’t know much about it, but I’d much rather go that route than deal with bounces and non-deliveries, etc.

2 Likes

The way I’ve used it (outside of Epicor) is that I create a SendGrid template at the service with place-holders for the various fields, then I just send a JSON payload. SendGrid merges the JSON and sends the message. (Yes, attachments can be sent this way too with limits as many MTA’s have limits)

I’ve suggested that Epicor take that SMTP work out of Kinetic, P21, etc and have a single notification service that the various products use. Why handle all the SMTP failures in every package synchronously? :man_shrugging: A notification service could do the actual sending of emails, handle retries, bounces, etc; add attachments to a repository like DocStar, SharePoint, etc.; and send a text/message when reports are ready with a link to the repository. The Epicor products could also query the service for history and status. The service could post back to the products to handle contact requests like unsubscribes or forget me (CANSPAM, GDPR, etc.).

IMHO, there are far too many places handle emailing in the products. Extract that logic out and refactor it into a service that all of the Epicor Products can use - including the routing. Just another unsolicited Wonsil thought. :wink:

4 Likes

I guess you can but it’s not necessary. I would prefer to just POST, take my 2XX status, and call it a day. Now it’s their problem. I just query for failures and update the users. Running STMP isn’t adding value to my company if we can be working on real business concerns instead.

1 Like

If I could figure out a native configuration way in Epicor to do that (maybe part of company config?), that would be ideal. As far as I know, the configuration at the company level is with SMTP only, but perhaps I’m mistaken

1 Like

i think, O365 also can do POST with Graph Api

2 Likes

Yes. And what’s cool about that is it can be left in a Draft folder for review or personalization. And it goes out as a real user.

1 Like

You’re not. Another thought for SMTP might be Amazon SES.