Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

[ Zend Core V2.x ]
[ IBM System i ]

Preface

The PHP mail() function is used to send emails from inside a script.

The following mail extension is provided with the zend core for i5/OS products and should already be loaded with the core installation. zmail - Zend SMTP module

Details

The PHP mail() Function

The PHP mail() function is used to send emails from inside a script, PHP Simple E-Mail Syntax:
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )  

 

Parameter

DescriptionRequired
$toSpecifies the receiver / receivers of the email

X

$subject  Specifies the subject of the email. Note: This parameter cannot contain any newline charactersX
$message   Defines the message to be sent. Each line should be separated with a LF (\n). Lines should not exceed 70 characters X
$headers   Specifies additional headers, like From, Cc, and Bcc. The additional headers should be separated with a CRLF (\r\n)
$parameters   Specifies an additional parameter to the sendmail program  

PHP Simple E-Mail

  1. Altering the mail() options Dynamically with ini_set():
    • PHP's ini_set() function temporarily sets a given configuration option for the duration of the program that invoked it.
    • ini_set() takes two parameters
      • Varname - Variable/option to change
      • Newvalue - Value to change to
    • The following lines of code show how to set the SMTP server and "from" address within a PHP function.

Example:

Info
iconfalse

<HTML>
<body>
MAIL SETTING for Iseries<br>
Define a real name of your mail Server<br>
<center>
SMTP = mail.zend.com </center>
<br>
Define a real name of your mail Server<br>
<center>
smtp_port = 25</center>
<br>
Define an any address you want<br>
<center>
sendmail_from = [email protected]</center><br>
</body>
 

<?php
// Using the ini_set()
ini_set("SMTP", "mail.zend.com");
ini_set("sendmail_from", "shlomo@zend.com");
//ini_set("smtp_port", "25");

// The message
$message = "The mail message was sent with the following mail setting:\r\nSMTP = mail.zend.com\r\nsmtp_port = 25\r\nsendmail_from = [email protected]";

// Send
$headers = "From: [email protected]";

mail('shlomo@zend.com', 'My Subject', $message, $headers);

echo "Check your email now....<BR>";
?>
</HTML>

2. Setting the mail() options Static php.ini parameters:

Info
iconfalse

[mail function]
SMTP = mail.zend.com
smtp_port = 25
sendmail_from = [email protected]

Example:

Info
iconfalse

<HTML>
<body>
MAIL SETTING for Iseries<br>
Define a real name of your mail Server<br>
<center>
SMTP = mail.zend.com </center>
<br>
Define a real name of your mail Server<br>
<center>
smtp_port = 25</center>
<br>
Define an any address you want<br>
<center>
sendmail_from = [email protected]</center><br>
</body>


<?php
// Using the php.ini static entries 

// The message
$message = "The mail message was sent with the following mail setting:\r\nSMTP = mail.zend.com\r\nsmtp_port = 25\r\nsendmail_from = [email protected]";
// Send
$headers = "From: [email protected]";
mail('shlomo@zend.com', 'My Subject', $message, $headers);


Info
iconfalse

echo "Check your email now....<BR>";
?>
</HTML>

Troubleshooting

  • Changes to PHP.INI will take effect after the Apache server is restarted
  • To view mail() unexpected behaviour, see PHP's error log: /usr/local/zend/Core/logs/php_error_log

The error log may be viewed with a text editor or this command: EDTF '/usr/local/zend/Core/logs/php_error_log'

Note
iconfalse
titleNote

Make sure the mail() extension is loaded use the GUI to load and enable the extension, than restart the apache from the i5 use the green screen menu: GO ZENDCORE/ZCMENU


Excerpt: The PHP mail() function is used to send emails from inside a script.

Original Post Date: 2009-05-31 14:06:00

External Links:  php manual

                              PHP: Zend for i5/OS