[Solar-talk] Solar_Mail and newlines

Paul M Jones pmjones at solarphp.com
Fri Jul 20 10:57:51 CDT 2007


Hi all,

A number of you have pointed out that that the default (pre RFC 2822)  
CRLF sequence of \r\n results in garbled messages for you, and so you  
use \n instead.  I have not been able to replicate the garbledness  
after several tries.  This is the script I'm using; can you try it  
and see if you have the same trouble?  (You should have to edit only  
the variables at the top.)

<?php
$include_path = '/Users/pmjones/pear/php';
$host = 'mail.bellsouth.net';
$from = 'pmjones at bellsouth.net';
$to   = 'pmjones88 at gmail.com';
$subj = 'A long message with newlines';
$text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Maecenas adipiscing.

Phasellus sed purus.

In faucibus ultrices nisl.

In fermentum blandit justo.

Etiam aliquam augue ut est.

Pellentesque nec purus quis enim venenatis blandit.

Nam eu pede nec orci adipiscing commodo.

Integer at tortor.

Aliquam et tellus.

Nam pretium, mi vel mollis venenatis, felis dui adipiscing justo,  
quis congue felis tortor id tortor.

Vestibulum suscipit neque ut lorem.

Proin purus felis, dignissim vel, porta pharetra, fermentum ut, lectus.

Nam eleifend ullamcorper augue.

Sed quis lacus.

Curabitur mauris.

Donec in urna at est iaculis tristique.

Pellentesque malesuada, eros et nonummy vulputate, orci justo  
sagittis massa, id imperdiet purus tortor eget turpis.

In dolor nulla, lacinia quis, ornare vitae, lobortis vel, pede.

Nullam nulla neque, aliquet nec, feugiat sit amet, vehicula sit amet,  
libero.";

// =======

error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', true);
set_include_path($include_path);

require 'Solar.php';
Solar::start(false);

// config and register an SMTP connection object
Solar::$config['Solar_Smtp'] = array(
     'adapter' => 'Solar_Smtp_Adapter_NoAuth',
     'host'    => $host,
);
Solar::register('smtp', 'Solar_Smtp');

// config and register a mail-message transport
Solar::$config['Solar_Mail_Transport']['adapter'] =  
'Solar_Mail_Transport_Adapter_Smtp';
Solar::register('mail-transport', 'Solar_Mail_Transport');

// config all messages to use the registered mail-transport
Solar::$config['Solar_Mail_Message']['transport'] = 'mail-transport';


$mail = Solar::factory('Solar_Mail_Message');

$mail->setFrom($from)
      ->addTo($to)
      ->setSubject($subj)
      ->setText($text)
      ->send();

// dump the log from the SMTP object
echo "\n\n";
$smtp = Solar::registry('smtp');
Solar::dump($smtp->getLog());
?>



--

Paul M. Jones  <http://paul-m-jones.com>

Solar: Simple Object Library and Application Repository
for PHP5.  <http://solarphp.com>

Join the Solar community wiki!  <http://solarphp.org>

Savant: The simple, elegant, and powerful solution for
templates in PHP.  <http://phpsavant.com>




More information about the Solar-talk mailing list