You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

Problem

Following a fresh install of Zend Server 2018 (PHP7.2.1) php mail stopped working.
The following message is given in the  Apache HTTPD log file www\zendphp7\logs\error_log.Q_date_time_stamp:
sh: /usr/sbin/sendmail: not found

Possible cause when the Zend Server libraries deployed are not updated to the latest versions available.
IBM i not connected to the web,(no internet access).


Solution

Download and deploy the latest Zend Framework Libraries.
Use the SMTP Transport found in Zend Framework a more reliable and easy to implement.

In the following article you can find an examples written for Zend Framework 1 and Zend Framework 2.

Use Framework's SMTP Transport instead of mail() on IBM i

  1. ZF1 example script:

    <?php
    $tr = new Zend_Mail_Transport_Smtp('mail.example.com');
    Zend_Mail::setDefaultTransport($tr);

    $mail = new Zend_Mail();
    $mail->setBodyText('This is the text of the mail.');
    $mail->setFrom('somebody@example.com', 'Some Sender');
    $mail->addTo('somebody_else@example.com', 'Some Recipient');
    $mail->setSubject('TestSubject');
    $mail->send();
  2. ZF2 example script:
    <?php

    ini_set('include_path', '/usr/local/zendphp7/share/ZendFramework2/library');
    require_once 'Zend/Loader/StandardAutoloader.php';
    $loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
    $loader->register();

    use Zend\Mail\Message;
    use Zend\Mail\Transport\Smtp as SmtpTransport;
    use Zend\Mail\Transport\SmtpOptions;

    $message = new Message();
    $message->addTo('somebody_else@example.com')
            ->addFrom('somebody@example.com')
            ->setSubject('TestSubject')
            ->setBody("This is the text of the mail.");

    // Setup SMTP transport
    $transport = new SmtpTransport();
    $options   = new SmtpOptions(array(
        'name' => 'example.com',
        'host' => 'mail.example.com',
        'port' => 25,
    ));
    $transport->setOptions($options);
    $transport->send($message);
    ?>

Zend Mail SMTP Options

Use Framework's SMTP Transport instead of mail on IBM-i

IBM i SMTP Mail -The PHP mail Function-

Zend Server Libraries

Zend Framework downloads

Create .zpks the easy way




  • No labels