tags:

views:

724

answers:

7

If you are going to send emais to 3000++ users. Will you still use php mail function? I heard, it was not secured enough. How do I send a secured blast emails? I dont want to use third-party software if possible.

If you are going to send blast emails in php, what method or functions you will use in php?? (Tried google "advanced sending email in php", but could not find a good answer)

Oh ya, heard this thing called phpmailer, is it good? Should I replace that with my current mail function? (Its free)

Lastly, what are the things you need prepare to send thousands over emails?

A: 

This isn't the complete solution, but I think they have something called "Email Certificates", that certify who you are, and that you are authorized to open it. Maybe check out what this company has to offer:

http://www.thawte.com/secure-email/personal-email-certificates/

SkippyFire
so after get the certificate, u just use the php simple mail function??
+4  A: 

The best method I've found for large lists is to use PEAR Mail in conjunction with Mail_Queue. Essentially, the messages get queued for delivery (stored as records in a MySQL database) and then a cron job runs periodically throughout the night to send them in manageable batches (using php CLI).

da5id
+1, short and succinct. Probably more useful than my answer. ;)
zombat
+1  A: 

The nature of e-mail generally means that it is not secure. You can sign your messages with digital signatures or encrypt them with PGP/GPG, but most users won't be able to decrypt them. This is why e-mail form your financial institutions generally contain no sensitive data – even their messages aren't secure.

If your simply looking to ensure that they aren't blocked by spam, you have to setup your mail server with proper SPF records and DomainKeys/SenderID. You could then use some sort of queuing system like PEAR's Mail Queue to send the messages.

arbales
+1  A: 

When it comes to blasting emails, 3rd party implementations are fine but really it's not difficult to write your own. Basically you need to have PHP queue blast jobs in a db and have a service or a daemon polling every so often to see if there's work to be done. If there is it will send the blast out in chunks.

As far as "secure mail" there's really no such thing. If you need to alert users to sensitive data do what banks do. Send out an announcement telling the user simply to log into their account to view a message on the web site.

Spencer Ruport
Do you mean the bounce mail handler? Can you elaborate more on this? I mean, how to start to write a bounce mail features?
+1  A: 

PHP isn't a mailing program, so it doesn't offer mail management capabilities. The mail() call is simply a channel through which you can pass email to a mail-handling daemon. If you want to manage a lot of email, you will need third-party software, or you'll have to write your own handling routines.

I'm not sure what you mean when you say that mail() isn't secure. This doesn't really make sense, as it's like saying phpinfo() or array_flip() or any other function isn't secure. Do you have some specific definition of a secure email?

In any event, a quick and dirty method to send bulk email via PHP is to simply background the process. Create a small PHP job-runner script that pulls out a chunk of email addresses at a time from a queue (such as a database table) and sends the email. You can execute the job-runner periodically via cron.

As other posters mentioned, there are some third-party packages out there that can handle this for you.

zombat
I see. Is there any third-party packages that you would like to recommend to us??
+1  A: 

I agree that security is probably not the issue. It will be difficult to not run into some sort of spam sensing quota limits on your upstream mail provider. Even if you send them in small batches throughout the night, there is likely a limit on a 24 hour period-- but maybe not. ISPs and hosting providers don't want to host spammers.

I'd check with your hosting provider or ISP to get specifics.

ndp
A: 

A agree with NDP - you are likely to get in trouble if you start sending out thousands of emails. If you are on a shared server, and it's IP address gets blacklisted for spam, then you are going to upset other websites on that server.

I would use a 3rd party system like Campaign Monitor or Vertical Response. You can intergrate your system through their APIs.

If you are going to use PHP, PHPMailer is very good, but not sure it has any functionality to queue up email sending, or do batch emails. Another option would be to use some open source software such as PHPList (http://www.phplist.com).

JonB