We are building a ticket system which is supposed to send and receive email. Sending email is relatively easy and can be accomplished in a modular way using SMTP. However we also need to support inbound email. To my understanding there are three main roads we can take.
Implementing inbound SMTP, which to my knowledge is quit hard and hard to maintain.
Using a SaaS such as (SendGrid, Mailgun, etc) which will deliver incoming email through web hooks. This however increases cost and makes the application dependent on this particular service (we are open source).
Using IMAP. This seems to be the most modular approach to me, but IMAP is a more user centric protocol. I also can not find any good experience about using this for incoming mail.
What are your experiences and what do you suggest?
Related
I am creating a PHP system that will forward emails, (ie. someone#emailforprofession.com to someone#gmail.com) without using an SMTP server which is faster and more stable? PEAR::Mail or PHP: Mail? (or another one entirely)
I would be using extra headers and attachments but mainly trying to keep it looking and acting the same. (if anyone has an example for forwarding with attachments PLEASE provide it!)
And not exactly on the side but is there a way for people to be able to send email from they're someone#emailforprofession.com email address without having a complete inbox etc?
It would probably be better for me to use a real email provider but these are supposed to be free email addresses so paying by the email address is not an option, if anyone knows of a service that: charges by the month or year, has an API that email addresses can be created from and that can set up email forwards via the API that would be most appreciated.
I currently have a partial system together but would like to know which way I should go first.
Thank you all.
The PEAR class supports multiple mailer backends, which allows you to
switch whenever needed and you'll be able to perform some benchmarks
and see which backend suits you best. The native mail function on the
other hand is much less advanced and will show a clear difference in
performance, especially for that amount of mails.
I also suggest you have a look at PEAR's mail queue class:
http://pear.php.net/package/Mail_Queue
This is much more recommended for larger projects such as yours,
you'll also be able to implement a cron like feature which will send a
certain amount of mail per period you choose.
Here
Recently i decided to build this kind of web application. But i have got no experience for this.
So, to begin with,
Are those system using SMTP function and include those mail plugin such as PHPmailer??
Thanks
You have two options at your disposal.
Roll your own SMTP server + use a pre-built library relevant to your language/framework (PHPmailer)
Purchase the services of an email service provider
If you want to go with the second, you are giving up direct control so that you won't have to maintain an SMTP server, the emails will get into inboxes without question, and you'll get detailed statistics about what you are sending and what people are doing with it.
With the second option, you have two types: transactional and bulk.
Transactional Mail Providers:
PostageApp
Sendgrid
PostmarkApp
Bulk Mail Providers:
MailChimp
AWeber
Exact Target
Constant Contact
Take a look at your service and determine what sort of mail you will be sending (most likely bulk) and pick your provider based on the features you will be needing.
The correct answer is "propably", since you can't know about all systems. The easiest way to get answer is to look at similar OSS projects source code.
I'm looking to start using an SMTP or mail relay service. I've found quite a few out there, but I'm not sure if there are advantages to one vs another. The only requirements I have are:
can send "from" more than 1 domain (possibly >20 for all the different sites I work on)
can pay for a higher limit (I may need to send as many as 15000 in 1 day, although the average is <500)
can send from PHP (although I doubt this will be a problem as most are compatible with any language)
I'm okay with an SMTP service, mail relay service or a site that uses a custom API, although an API would make the conversion more difficult.
Reasons for wanting to do this:
I don't want to host any mail services my self as they just cause head aches
I don't have to worry about being blacklisted. If they are blacklisted they will know about it and have the knowledge to get it fixed.
Reporting on if emails have gone through would be nice.
I'm not sure why you would need this. If you read the proper RFCs (822, 2822, 823, 2823), you should be able to connect to any given site directly using SMTP. You need to be a little careful with Line Endings (should always be CRLF), and should probably add mail.add_x_header = OFF to your php.ini.
However, if you need a relay, I recommend using a spam filtering provider, as then you have protection from being blacklisted due to spammers abusing email-generating forms. I would recommend Red Condor for this task, but that is only because I work there, and know that we can handle it.
I've started using Mandrill and found it to be a great, reliable service provided by MailChimp that includes enough for most sites to use for free. Easy to setup, but also has a lot more functionality available.
We are building an email alert system which needs to send customized emails in real time based on certain criteria (think Google alerts). The application sends emails to multiple users from a web application currently implemented using a JMS bean that uses JavaMail to make the email sending asynchronous.
We were wondering if there are other utilities out there that might make this task a little more scalable and manageable.
On an related note, we have had major issues with Gmail (our mail server) while trying to send out bulk emails in this fashion (We sometimes send hundreds of alerts at a time). Managing our own mail server is an option, if that would help us scale this.
I think a good candidate for this is the Amazon Simple Email Service, introduced earlier this year: Amazon SES
It's part of Amazon Web Services (which include S3 (storage), EC2 (Elastic Compute Cloud) and various others).
We've been using AWS as a testbed for various things which would be impractical to host on our own infrastructure and have found it to be very nice to use.
I'm implementing a email newsletter sender service using .NET and Windows Server technologies. Are there comprehensive guidelines which could help avoiding emails being trapped by spam filters and other mechanisms?
They should cover all aspects of (legal) bulk mail sending: SMTP configuration, DNS, HTML content, images, links within content etc. A simple example: is it better to embed images or load them from a server?
It would be great if you could provide some empirical data to show the efficiency of some measures taken.
Although I don't have a definitive answer, I think this is a very important question.
Here are few tidbits I know about it
Choose a clean hosting/smtp server. IP addresses of spamming SMTP servers are often black-listed by other ISPs.
Send a simple introductory email to every subscriber, asking them to add your sender address to their safe list.
Be very prudent in sending to only those people who are actually expecting it. You wouldn't want pattern recognizers of spam filters learning the smell of your content.
If you don't know your smtp servers in advance, its a good practice to provide configuration options in your application for controlling batch sizes and delay between batches. Some servers don't like large batches or continuous activity.
Unless you have a very specific reason to host the newsletter yourself, I think you'd be much better off using a third party service. There are lots out there, and some are very cheaply priced.
It'll save you on development work
(no point in re-inventing the
wheel).
Their system will handle all
the unsubscribe link stuff that you
need to include in email newsletters
to comply with CAN SPAM laws or
whatever.
They handle the spam
reports that you will inevitably get
if you have a list of any non-trivial size.
They keep records of who signed up,
how they signed up, and their IP
address, and can present those on
receipt of a spam report to prove
that their service wasn't sending
out spam.
You can use double-opt in
(or confirmed opt in), for extra
evidence to prove that the people
you're sending emails to actually
signed up to receive them.
If you really do need to host it yourself I'd suggest you search the web for "email deliverability". Things that are known to help include properly set up SPF records, DomainKeys/DKIM, correct DNS settings (reverse DNS especially - best to just use an online service to check your DNS settings). You can test a lot of these things by sending an email to check-auth#verifier.port25.com.
It's best to avoid using spammy words in your email - always a bit of guesswork this but you some words can trip filters.
But I'd guess that by far the most important thing is to be sending your email from a trusted server that maintains good relationships with ISPs (i.e. ensuring that ISPs don't think that the server is sending out spam). This is a big reason why it's much much easier to get a third party to handle everything for you.