How to configure php.ini with remote SMTP?
Solution 1
My choice is setup a postfix server in the same web server that sent mail only for localhost and with this setting in main.cf to use a remote SMTP server:
relayhost = [a.b.c.d]
It works for me.
Solution 2
It's not possible, AFAIK. I would either:
- Use a fuller functioning mail class such as PEAR::Mail.
- If all mail from that machine should be smart-relayed then consider configuring SSMTP as your sendmail binary.
Solution 3
msmtp can be used as an alternative to sendmail which simply forwards traffic directly to an external SMTP server. It's pretty easy to set up and works very well.
Solution 4
PHP on Linux relies on sendmail. I would recommend using a different mail function from another library if you really want to do this. There are recommendations on the following StackOverFlow Post: https://stackoverflow.com/questions/966907/specify-smtp-server-for-php-mail-in-freebsd
Solution 5
PHP by itself can't do this.
Simple forwarders such as ssmtp have some problems relaying php mails.
http://www.freehackers.org/thomas/2008/07/13/linux-a-second-class-citizen-in-the-php-world/
Brayn
Updated on September 17, 2022Comments
-
Brayn over 1 year
How do I configure PHP to send mail using mail() via a remote SMTP server?
I've tried to do this using php.ini but it seems that you can only do that under Windows32 and I want to do this on my Unix server.
Also I've tried to change the configuration for sendmail so it would use a remote SMTP server but I'm not sure that's possible.
-
Andrioid almost 15 years+1 for the answer, I disagree with the later comment though. Usually the sysadmins get the "fun part" of configuring SMTP as not all programmers have any idea of what that is. They just want "email working". Of course, I'm generalizing, no pun intended.
-
Uri almost 13 yearsHD, can you please give more details, or point me to a resource that explains this. I've a Google account (as well as Google Apps), and I beleive SMTP requires authentication. Google is using TLS for SMTP on port 587 (and not 25). Where do I specify all this information?
-
Mike over 11 yearsThis is the best answer really cause you offload the smtp to postfix. If you send mail via your app and the remote server is down you are blocking the request. The best option is to pass off the mailing to a worker in a queue to do that work though but this is a good first step in the right direction.
-
w00t about 11 yearsmsmtp saved my life :)
-
HBruijn over 8 yearsWelcome to Server Fault! Whilst this may theoretically answer the question, please provide context around links so others will have some idea what it is and why it’s there. If possible summarise or quote the most relevant part of an important link, in case the target site is unreachable or goes permanently offline.