Reputation: 15
$res= mail('[email protected]', 'Email verification ','This is my own text');
print $res;
I have tried to send mail to my email id. I have 1 on page. Looks like it's working but it really did not work.
php.ini:
define_syslog_variables = Off
[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = localhost
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = [email protected]
; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program files\xampp-portable) 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 = "\"\xampp-portable\sendmail\sendmail.exe\" -t"
; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the \xampp-portable\mailoutput folder
sendmail_path = "\xampp-portable\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 = "\xampp-portable\php\logs\php_mail.log"
[SQL]
I want to know that how I can trace what happen to my code. If I need to do some settings in my local php server then tell me about them.
I am using xampp portable "Run as administrator".
Upvotes: 1
Views: 2002
Reputation: 2237
There is a line in your file that says:
; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the \xampp-portable\mailoutput folder
sendmail_path = "\xampp-portable\mailtodisk\mailtodisk.exe"
In my XAMPP installation, I found that the comment was wrong. You actually have to uncomment the line if you want to use mailToDisk, and the mail is actually written to /tmp/mailoutput.
Upvotes: 1
Reputation: 12059
I am going out on a limb by saying this: You don't have an SMTP server installed, let alone running. Just because your php.ini
says mail()
will use SMTP @ localhost:25 doesn't really mean it is installed and running. The mail()
function will return true even if it doesn't actually send the letter.
If you have installed an SMTP server (which doesn't come packaged as of now with XAMPP), and have it running, then I apologize. Please post which SMTP server you are using and your services list to ensure it is running. Then it will be easier to diagnose.
EDIT
Just tested on my computer without SMTP server being set up:
$a= @mail('[email protected]', 'asdf', 'asdf');
if(!$a)
echo'False';
else
echo'True';
The output is True
.
Upvotes: 0
Reputation: 164
I can't use a comment system, so I can only post it here. but I think this is not the answer you are looking for.
XAMP might not be able to send email. Most localhost testing environment, such as xamp, or wamp are not able to send email. They need to be set up as mail server first. You could try setting them as mail server, but I think it's easier to just get a free hosting (with some "ugly" subdomain name), and put your script there and try to send mail.
Upvotes: 0