Once i set delivery time in mailgun api request, is it possible to change the content of mail later before delivery. For instance - I set delivery time of 2 day(currently they allow max of 3 day delivery time) from now and then after 1 day I want to change the delivery timing/content of email, is it possible to do this?
Unfortunately, once an email message is queued it cannot be edited further. Thus no, you cannot reschedule an email once its been scheduled to be sent out at a particular date. Cool idea though ;)
Related
I have developed a certain system (with Classic ASP and MSSSQL 2012) for managing customer files for an insurance company.
Among other features, the system should be able to let the user set an automatic email message to be sent out to a defined email address at specific date and time.
After trying to achieve this goal with the native service of Scheduled Tasks on the server, and finding it very unreliable, I am looking now for an external service.
The "holy grail" for me will be to find a service much like FollowUpThen, which provides the option to send an email message at a specific date and time in a very simple way.
The problem with their service is that you cannot define the email addresses where the message will be sent to, so that's a "game killer" for me, unfortunately.
So, basically I am currently looking for a service that will allow me (programmaticaly) to send out scheduled email messages.
Any kind of help in this matter would be greatly appreciated!
Iterable.com supports scheduling an email for delivery up to 365 days in the future. See https://api.iterable.com/api/docs#!/email/target_post_0
Please note that the content of the email is set at the time you schedule it, not on the scheduled delivery date.
How can I limit the amount of email sent through my mail server in a given time period.
After reaching that limit I want to send an email to administrator.
Is it possible?
Take a look at the SmarterMail throttling feature:
https://portal.smartertools.com/kb/a2768/set-up-throttling-for-domains.aspx
That should accomplish what you need or close to it.
My webhost imposes a limit on how many emails can be sent from my email account. I'd like to create an event that logs how many emails have been sent that day every time a new email is sent. If the maximum number of emails is reached, I'll switch my app to a different email account to avoid conflicts.
Creating the event shouldn't be a problem. My question is how would I go about setting it up so it fires every time an email is sent? Would it be something like extending Mail::send so that it includes something like this?
$event = Event::fire('mail.send', array($data));
I've set up a Mandrill webhook which will update my app whenever an email hard-bounces or is rejected, so I don't keep that particular email address in my database. The way it works is this: a user gives me an address, I send him a confirmation, and if I don't hear from Mandrill's webhook in 30 minutes, I assume it's OK.
So I ran a some tests with non-existing addresses, and they didn't go too well. Most of them appeared as delivered for hours, long after I'd assumed they were fine.
Also, I didn't account for the delay in receiving webhook batches. One mail bounced at 2:01pm, according to the outbound activity logs, but the webhook history shows a batch being sent only at 2:52pm.
My questions is: how long should I delay my app's assumption of deliverability in order to give Mandrill enough time to detect hard-bounces / rejections and then send me webhook batches? I can live with letting some 5% bad emails going by because of delayed in processing on peak-time or other extraordinary events, but it seems like my 30 minutes isn't enough to catch anything at all...
Not the answer you're looking for, but Mandrill doesn't let you do this. The only way of checking if an email has been delivered is to poll Mandrill (with the message/info.json API). To see if the message is delivered you have to check the smtp_events and look for an event with diag starting with 250. As you've already experienced it may take a long time between delivery and when a message is accessible through the API. In my experience the normal case is around 10 minutes, but it might take many, many hours (this is the case for bounced emails as well as emails that got delivered immediately).
If it is important to you to know when an email is delivered, I would recommend you to switch to another email provider. There are plenty of different ones out there. I've personally used Amazon SES. They're cheaper than Mandrill, and you can expect a delivery notification after a second or so. Do note that Amazon SES is a bit more bare-bone than Mandrill (they don't have support for open/click-tracking, templating, dedicated IP, etc.), so it might not be the right provider for you.
Let's say we send about 100k emails per day to our users.
These are all transactional emails ("You received a new message",etc.)
In order to reduce the number of emails we group those transactions into summary emails and send those summary emails every 6 hours or so.
So every 6 hours or so we send about 25k emails.
From particularly hotmail's perspective is it a bad practice to send all these emails every six hours.
Would it be better to send these emails every hour for instance?
Thanks,
Haluk
The best way to send - is to send uniformly. Every hour is better then every 6 hours. Every minute is better. Think how mail services like gmail work. They send and receive mail every minute. If you'll send a large chank of mail at a short time and then will do a delay - that will look more like spam.