Emrys Posted February 22, 2013 Share Posted February 22, 2013 Hi Guys, I'm not running the best setup as I'm hosting my website and email server on my own PC as VMs. Nonetheless everything works perfectly fine except this one bit. My web server is separate from my email server, I am using XAMPP and will post my ini snippets if you guys need them. I'd tried almost everything I know so that's why I'm coming to you guys for some help. I want to use mail() to email myself from my web server, so if a user completes a form and submits it, the mail() function sends me the email with the details. All the variables and everything else are going through no problem, however I just cannot seem to get the mail() function to actually send the email. [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = smtp.mail.yahoo.com smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = phpmail@stardragons.co.uk ; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program filesE:\star Dragons) fakemail and mailtodisk do not work correctly. ; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path. ; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder) sendmail_path = "\"E:\star Dragons\sendmail\sendmail.exe\" -t" ; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the E:\star Dragons\mailoutput folder ;sendmail_path = "E:\star Dragons\mailtodisk\mailtodisk.exe" ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename mail.add_x_header = Off ; Log all mail() calls including the full path of the script, line #, to address and headers ;mail.log = "E:\star Dragons\php\logs\php_mail.log" ; configuration for fake sendmail ; if this file doesn't exist, sendmail.exe will look for the settings in ; the registry, under HKLM\Software\Sendmail [sendmail] ; you must change mail.mydomain.com to your smtp server, ; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup) ; emails delivered via IIS's pickup directory cause sendmail to ; run quicker, but you won't get error messages back to the calling ; application. smtp_server=smtp.mail.yahoo.com ; smtp port (normally 25) smtp_port=25 ; SMTPS (SSL) support ; auto = use SSL for port 465, otherwise try to use TLS ; ssl = alway use SSL ; tls = always use TLS ; none = never try to use SSL smtp_ssl=none ; the default domain for this server will be read from the registry ; this will be appended to email addresses when one isn't provided ; if you want to override the value in the registry, uncomment and modify ;default_domain=stardragons.co.uk ; log smtp errors to error.log (defaults to same directory as sendmail.exe) ; uncomment to enable logging error_logfile=error.log ; create debug log as debug.log (defaults to same directory as sendmail.exe) ; uncomment to enable debugging debug_logfile=debug.log ; if your smtp server requires authentication, modify the following two lines auth_username=stardragons@yahoo.co.uk auth_password=******** ; if your smtp server uses pop3 before smtp authentication, modify the ; following three lines. do not enable unless it is required. pop3_server= pop3_username= pop3_password= ; force the sender to always be the following email address ; this will only affect the "MAIL FROM" command, it won't modify ; the "From: " header of the message content force_sender= ; force the sender to always be the following email address ; this will only affect the "RCTP TO" command, it won't modify ; the "To: " header of the message content force_recipient= ; sendmail will use your hostname and your default_domain in the ehlo/helo ; smtp greeting. you can manually set the ehlo/helo name if required hostname= NOTE: I HAVE CHANGED THE NAME AND THE PASSWORDS ETC. FOR OBVIOUS REASONS. THOSE PARTS I AM 99% SURE AREN'T THE PROBLEM. MY EMAIL WORKS FOR SENDING AND RECEIVING. Can you guys shed any light on this situation please? Many Thanks, Emrys. Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/ Share on other sites More sharing options...
jazzman1 Posted February 22, 2013 Share Posted February 22, 2013 We need to know whether port 25 has been opened in your local windows system. Did you get some errors? Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/#findComment-1414186 Share on other sites More sharing options...
Emrys Posted February 23, 2013 Author Share Posted February 23, 2013 I didn't get any errors back, as I said my email is working fine I can send and receive externally. However, as it is clear by the config files, I use yahoo as an smtp relay. Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/#findComment-1414415 Share on other sites More sharing options...
jazzman1 Posted February 24, 2013 Share Posted February 24, 2013 Could you run this command to the windows command prompt and give us back the results. I am only interested in the port 25. netstat -аn Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/#findComment-1414649 Share on other sites More sharing options...
Emrys Posted February 25, 2013 Author Share Posted February 25, 2013 Active Connections Proto Local Ad Foreign Ad State TCP 0.0.0.0:25 0.0.0.0:0 LISTENING TCP 192.168.1.72:25 212.69.60.129:50709 ESTABLISHED Easier on the eyes: TCP 0.0.0.0:25 0.0.0.0:0 LISTENING TCP 192.168.1.72:25 212.69.60.129:50709 ESTABLISHED Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/#findComment-1414799 Share on other sites More sharing options...
jazzman1 Posted February 25, 2013 Share Posted February 25, 2013 That's fine, but you need to know that not all mail servers allow to send messages by SMTP without TLS/SSL, using different ports and transport layer security. You have to check this. The easiest way to solve that issue is to use some based mailing libraries in php like - swiftMailer or phpMailer. Quote Link to comment https://forums.phpfreaks.com/topic/274815-using-mail-with-another-server/#findComment-1414805 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.