Hello,
I'm trying to send an email using mail() from a script that runs in a secure directory. The email never gets sent, but it works while running in a "normal" directory. Any insight? Thanks in advance.
Php Mail() From Secure Directorysending mail
Page 1 of 1
1 Replies - 1669 Views - Last Post: 05 January 2004 - 11:01 PM
Replies To: Php Mail() From Secure Directory
#2
Re: Php Mail() From Secure Directory
Posted 05 January 2004 - 11:01 PM
graeder, on Jan 5 2004, 10:46 AM, said:
I'm trying to send an email using mail() from a script that runs in a secure directory.
What do you mean by "secure"? If you mean that the directory is accessed over the web via https, there should be no direct correlation between how the web page is accessed and how the mail() function works. However, if the secure directory is residing on a slightly different host this could be the problem.
If you mean that the directory is secured in the filesystem by the operating system, here again it is unlikely that there is any correlation. There might be a problem with access permissions from the directory to the default mail server. This is a long shot.
From php.net:
Quote
or the Mail functions to be available, PHP must have access to the sendmail binary on your system during compile time. If you use another mail program, such as qmail or postfix, be sure to use the appropriate sendmail wrappers that come with them. PHP will first look for sendmail in your PATH, and then in the following:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. It's highly recommended to have sendmail available from your PATH. Also, the user that compiled PHP must have permission to access the sendmail binary.
...
The behaviour of these functions is affected by settings in php.ini.
Table 1. Mail configuration options
Name Default Changeable
SMTP "localhost" PHP_INI_ALL
smtp_port "25" PHP_INI_ALL
sendmail_from NULL PHP_INI_ALL
sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM
For further details and definition of the PHP_INI_* constants see ini_set().
SMTP string
Used under Windows only: DNS name or IP address of the SMTP server PHP should use for mail sent with the mail() function.
smtp_port int
Used under Windows only: Number of the port to connect to the server specified with the SMTP setting when sending mail with mail(); defaults to 25. Only available since PHP 4.3.0.
sendmail_from string
Which "From:" mail address should be used in mail sent from PHP under Windows.
sendmail_path string
Where the sendmail program can be found, usually /usr/sbin/sendmail or/usr/lib/sendmail. configure does an honest attempt of locating this one for you and set a default, but if it fails, you can set it here.
Systems not using sendmail should set this directive to the sendmail wrapper/replacement their mail system offers, if any. For example, Qmail users can normally set it to /var/qmail/bin/sendmail or /var/qmail/bin/qmail-inject.
qmail-inject does not require any option to process mail correctly.
...
The behaviour of these functions is affected by settings in php.ini.
Table 1. Mail configuration options
Name Default Changeable
SMTP "localhost" PHP_INI_ALL
smtp_port "25" PHP_INI_ALL
sendmail_from NULL PHP_INI_ALL
sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM
For further details and definition of the PHP_INI_* constants see ini_set().
SMTP string
Used under Windows only: DNS name or IP address of the SMTP server PHP should use for mail sent with the mail() function.
smtp_port int
Used under Windows only: Number of the port to connect to the server specified with the SMTP setting when sending mail with mail(); defaults to 25. Only available since PHP 4.3.0.
sendmail_from string
Which "From:" mail address should be used in mail sent from PHP under Windows.
sendmail_path string
Where the sendmail program can be found, usually /usr/sbin/sendmail or/usr/lib/sendmail. configure does an honest attempt of locating this one for you and set a default, but if it fails, you can set it here.
Systems not using sendmail should set this directive to the sendmail wrapper/replacement their mail system offers, if any. For example, Qmail users can normally set it to /var/qmail/bin/sendmail or /var/qmail/bin/qmail-inject.
qmail-inject does not require any option to process mail correctly.
So, if you have different versions of PHP acting on these different directories, or you have different environments in which PHP is executed (meaning e.g. the PATH variable differs) then you need to reconcile the versions of the environment or the php.ini settings so they both work.
Hope this helps.
Cheers,
RP
Page 1 of 1
|
|

New Topic/Question
Reply



MultiQuote




|