email - How to configure php.ini to work with smtp4dev?

562

So, I downloaded and installed smtp4dev.

When i try sending a mail in my php file:

mail('localhost', "Hey there", "no");

i get an error from php.ini, complaining that sendmail_from isnt declared.

I tried declaring it:

sendmail_from = [email protected]ost

That made php silent, but still doesnt work - tries to load the page for 30 seconds and then another error. Fatal error: Maximum execution time of 30 seconds exceeded.

How must i configure php.ini for it to work?

php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; 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 = "C:\xampp\apache\logs\php_mail.log"
372

Answer

Solution:

Author of smtp4dev here: Sorry, that was probably the following bug: http://smtp4dev.codeplex.com/workitem/6080

Your php.ini looks correct. Try again with the latest release from CodePlex and you should be fine.

760

Answer

Solution:

My guess is that the "sendmail_from" error happened because even though you have explicitly defined it in your php.ini, you apparently mark it as a comment (That ; char in front of the line)

;sendmail_from = [email protected]

I think it should be

sendmail_from = [email protected]

This is not really the correct answer, but you might also want to check other comment marks on your php.ini =)

833

Answer

Solution:

Man, I just modified my code like this

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = localhost
smtp_server = localhost
smtp_port = 25

Take a look into this video, that helped me http://www.youtube.com/watch?v=IrYrI-ghxrE

People are also looking for solutions to the problem: php - Displaying array content from function?

Source

Didn't find the answer?

Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.

Similar questions

Find the answer in similar questions on our website.