HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   HOWTO-Related Questions (http://www.howtoforge.com/forums/forumdisplay.php?f=2)
-   -   sending e-mail using mail() function (http://www.howtoforge.com/forums/showthread.php?t=3826)

linuxuser1 21st April 2006 01:04

sending e-mail using mail() function
 
How can i set up my debian servers - one with postfix and 1 with sendmail to allow a php script to use the mail() function to send e-mail. Both servers have ISPConfig installed.

What i have in my php.ini =
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail

The php.ini is located at /etc/php4/apache2/php.ini


Thanks

falko 21st April 2006 11:39

The mail() function should work out of the box. You don't have to configure anything.

linuxuser1 21st April 2006 11:52

Hi Falko,

The problem is I have 2 scripts and non of them works. I have vbulletin and 2 other ones. For Vbulleting I have to ask it to use smtp before it can work. For one of the other scripts I also have to specify an SMTP before it can work just like VBulletin but for the other one, there is no where to set an SMTP and I have been trying to get it to work with no progress which is why I
have to uncomment as sendmail_path = /usr/sbin/sendmail thinking this will help but unfortunately it still does not work.

Thanks as always.

falko 21st April 2006 17:51

How did you install PHP? Did you compile it from the sources, or did you install your distribution's preconfigured packages? Do you have Postfix or Sendmail installed?

linuxuser1 21st April 2006 18:16

Hi Falko,

I used your debian perfect set up - (http://www.falkotimme.com/howtos/per...arge/index.php) to install both servers. I used your sendmail perfect set up to install sendmail (http://www.falkotimme.com/howtos/sen..._tls/index.php )and both servers have Ispconfig working very well. I used your perfect setup to install Postfix on another one. When I tried using the mail() function in Postfix and it did not work, I then went to try sendmail and its still the same problem.

Should the mail() function work right away after following your perfect setup or i should have done something else tomake it work.

Please help and many thanks.

sjau 21st April 2006 18:37

For testing I would suggest to use the mail() examples in the php doc. If they don't work then there's some issue:

Quote:

Example 907. Sending mail.
Using mail() to send a simple email:

copy to clipboard
<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('caffinated@example.com', 'My Subject', $message);
?>
Example 908. Sending mail with extra headers.
The addition of basic headers, telling the MUA the From and Reply-To addresses:

copy to clipboard
<?php
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>
Example 909. Sending mail with an additional command line parameter.
The additional_parameters parameter can be used to pass an additional parameter to the program configured to use when sending mail using the sendmail_path.

copy to clipboard
<?php
mail('nobody@example.com', 'the subject', 'the message', null,
'-fwebmaster@example.com');
?>
Example 910. Sending HTML email
It is also possible to send HTML email with mail().

copy to clipboard
<?php
// multiple recipients
$to = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>


falko 22nd April 2006 16:41

Quote:

Originally Posted by linuxuser1
Should the mail() function work right away after following your perfect setup or i should have done something else tomake it work.

It should work right away. Do you get errors when you use the mail() function (also look in the mail log)?

linuxuser1 25th April 2006 01:29

Hello Falko,

Mail log as requested

Apr 24 22:59:36 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 24 22:59:36 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 24 22:59:36 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: server SMTP socket wedged: exiting
Apr 24 23:17:21 mailx sendmail[1678]: NOQUEUE: SYSERR(www-data): can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=0, required=1001): Permission denied
Apr 25 00:00:04 mailx authdaemond.plain: restarting authdaemond children
Apr 25 00:00:04 mailx authdaemond.plain: modules="authpam", daemons=5
Apr 25 00:01:09 mailx authdaemond.plain: modules="authpam", daemons=5
Apr 25 00:01:13 mailx sendmail[1273]: starting daemon (8.13.6): SMTP+queueing@01:00:00
Apr 25 00:01:13 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:13 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:15 mailx sendmail[1307]: k3ON1FvG001307: from=root, size=1567, class=0, nrcpts=1, msgid=<200604242301.k3ON1FvG001307@mailx.cjahostin g.com>, relay=root@localhost
Apr 25 00:01:15 mailx sendmail[1307]: k3ON1FvG001307: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31567, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (OK id=1FYA3P-0000L6-IM)
Apr 25 00:01:18 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:18 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:23 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:23 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:38 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:38 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:48 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:48 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:48 mailx sendmail[1371]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:48 mailx sendmail[1371]: daemon MTA: problem creating SMTP socket
Apr 25 00:01:53 mailx sendmail[1273]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:01:53 mailx sendmail[1273]: daemon MTA: problem creating SMTP socket
Apr 25 00:02:13 mailx sendmail[1371]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:02:14 mailx sendmail[1371]: daemon MTA: problem creating SMTP socket
Apr 25 00:02:14 mailx sendmail[1371]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: server SMTP socket wedged: exiting
Apr 25 00:08:05 mailx authdaemond.plain: restarting authdaemond children
Apr 25 00:08:05 mailx authdaemond.plain: modules="authpam", daemons=5
Apr 25 00:09:13 mailx authdaemond.plain: modules="authpam", daemons=5
Apr 25 00:09:17 mailx sendmail[1272]: starting daemon (8.13.6): SMTP+queueing@01:00:00
Apr 25 00:09:17 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:17 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:22 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:22 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:32 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:32 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:36 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:36 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:37 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:37 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:41 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:41 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:42 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:42 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:46 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:46 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:47 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:47 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:51 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:51 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:52 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:52 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:56 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:56 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:09:57 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:09:57 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:01 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:01 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:02 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:02 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:06 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:06 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:07 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:07 mailx sendmail[1272]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:07 mailx sendmail[1272]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: server SMTP socket wedged: exiting
Apr 25 00:10:11 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:11 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:16 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: cannot bind: Address already in use
Apr 25 00:10:16 mailx sendmail[1358]: daemon MTA: problem creating SMTP socket
Apr 25 00:10:16 mailx sendmail[1358]: NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA: server SMTP socket wedged: exiting
Apr 25 00:16:30 mailx sendmail[1636]: NOQUEUE: SYSERR(www-data): can not write to queue directory /var/spool/clientmqueue/ (RunAsGid=0, required=1001): Permission denied
Apr 25 00:22:11 mailx courierpop3login: Connection, ip=[::ffff:127.0.0.1]
Apr 25 00:22:11 mailx courierpop3login: LOGIN, user=web1_alpharadiotv, ip=[::ffff:127.0.0.1]
Apr 25 00:22:11 mailx courierpop3login: LOGOUT, user=web1_alpharadiotv, ip=[::ffff:127.0.0.1], top=0, retr=0, time=0
Apr 25 00:22:48 mailx courierpop3login: Connection, ip=[::ffff:127.0.0.1]
Apr 25 00:22:48 mailx courierpop3login: LOGIN, user=web1_alpharadiotv, ip=[::ffff:127.0.0.1]
Apr 25 00:22:48 mailx courierpop3login: LOGOUT, user=web1_alpharadiotv, ip=[::ffff:127.0.0.1], top=0, retr=0, time=0


Thanks

falko 25th April 2006 16:18

You have a problem with Sendmail, not with PHP's mail() function.
What's the output of
Code:

netstat -tap
?

linuxuser1 25th April 2006 16:31

mailx:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:imaps *:* LISTEN 1 103/couriertcpd
tcp 0 0 *:pop3s *:* LISTEN 1 126/couriertcpd
tcp 0 0 localhost.localdo:mysql *:* LISTEN 1 220/mysqld
tcp 0 0 *:pop3 *:* LISTEN 1 112/couriertcpd
tcp 0 0 *:imap2 *:* LISTEN 1 089/couriertcpd
tcp 0 0 *:www *:* LISTEN 1 352/apache2
tcp 0 0 *:81 *:* LISTEN 1 319/ispconfig_http
tcp 0 0 *:ftp *:* LISTEN 1 397/proftpd: (acce
tcp 0 0 virtual-ip1.cjah:domain *:* LISTEN 1 382/named
tcp 0 0 europa.cjahostin:domain *:* LISTEN 1 382/named
tcp 0 0 localhost.locald:domain *:* LISTEN 1 382/named
tcp 0 0 *:ssh *:* LISTEN 1 280/sshd
tcp 0 0 localhost.localdoma:953 *:* LISTEN 1 382/named
tcp 0 0 localhost.localdom:smtp *:* LISTEN 1 160/exim4
tcp 0 0 *:https *:* LISTEN 1 352/apache2
tcp 0 0 virtual-ip1.cjahost:www cjahosting.plus.co:7161 FIN_WAIT2 2223/apache2
tcp 0 2076 europa.cjahosting.c:ssh 192.168.21.18:2450 ESTABLISHED6702/0
mailx:~#


Thanks so much.


All times are GMT +2. The time now is 06:42.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.