Line break in email
am 19.08.2007 18:45:58 von Shelly
When using the mail() call, I formatted the message with "\n" for new lines.
The text of the email ran together without line breaks. I also tried "\r\n"
and that also didn't work. The email reader I am using is Outlook Express
and is set to plain text. I checked the manual and it says to use "\n".
Re: Line break in email
am 19.08.2007 21:42:42 von Jerry Stuckle
Shelly wrote:
> When using the mail() call, I formatted the message with "\n" for new lines.
> The text of the email ran together without line breaks. I also tried "\r\n"
> and that also didn't work. The email reader I am using is Outlook Express
> and is set to plain text. I checked the manual and it says to use "\n".
>
>
Hmmm, are you sending this as html email? What does the email source
look like? How about the code you're using to send the mail?
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Re: Line break in email
am 19.08.2007 23:01:46 von Shelly
"Jerry Stuckle" wrote in message
news:yvidnd_5pNznAFXbnZ2dnUVZ_i2dnZ2d@comcast.com...
> Shelly wrote:
>> When using the mail() call, I formatted the message with "\n" for new
>> lines. The text of the email ran together without line breaks. I also
>> tried "\r\n" and that also didn't work. The email reader I am using is
>> Outlook Express and is set to plain text. I checked the manual and it
>> says to use "\n".
>
> Hmmm, are you sending this as html email? What does the email source look
> like? How about the code you're using to send the mail?
Here is the call that I make:
$message = "A bunch of stuff with \n to separate the lines"; <=== not
the actual code, of course
$message .= "\\nThank you for your order.";
$mailit = mail_attachment ($send_from , $sent_to, $cc_sendto,
$ORDER_PLACED, $message, "");
Here is the function that I call (I got it on the web and modified it
slightly):
function mail_attachment ($from, $to, $cc, $subject, $message, $attachment){
$fileatt = $attachment; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$start= strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') :
strrpos($attachment, '/')+1;
$fileatt_name = substr($attachment, $start, strlen($attachment)); //
Filename that will be used for the file as the attachment
$email_from = $from; // Who the email is from
$email_subject = $subject; // The Subject of the email
$email_txt = $message; // Message that the email has in it
$email_to = $to; // Who the email is to
$email_cc = $cc; // Who the email is to
$headers = "From: ".$email_from;
if (strlen($email_cc) > 0) $headers .= "\nCc: " . $email_cc;
if (strlen($fileatt) > 0) {
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
} else {
$data = "";
}
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
//$email_txt .= $msg_txt;
$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_txt . "\n\n";
if (strlen($data) > 0) $data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
$ok = @mail($email_to, $email_subject, $email_message, $headers);
if($ok) {
return "OK";
} else {
return "Sorry but the email could not be sent. Please go back and try
again!";
}
}
Hope that helps.
Shelly
Re: Line break in email
am 20.08.2007 02:13:16 von nigel_moss
While the city slept, Shelly (sheldonlg.news@asap-consult.com) feverishly
typed...
[...]
> $message .= "\\nThank you for your order.";
[...]
If this is an exact copy of the kind of text you are using then herein lies
your problem...
The backslash is used to escape a character. Therefore, to allow a backslash
to appear in the text itself, you would escape it with another backslash. So
the text above is escaping the backslash and will literally output "\nThank
you for your order."
Change that to...
$message .= "\nThank you for your order."; // note - only one backslash
.... and you should be ok.
Hope that helps.
Cheers,
Nige
--
Nigel Moss http://www.nigenet.org.uk
Mail address will bounce. nigel@DOG.nigenet.org.uk | Take the DOG. out!
"Your mother ate my dog!", "Not all of him!"
Re: Line break in email
am 20.08.2007 10:50:01 von Toby A Inkster
Shelly wrote:
> "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
> "Content-Transfer-Encoding: 7bit\n\n" .
Change to:
"Content-Type: text/plain; charset=us-ascii\r\n".
"Content-Transfer-Encoding: 7bit\r\n".
(ISO-8859-1 doesn't really make sense with 7bit.)
--
Toby A Inkster BSc (Hons) ARCS
[Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
[OS: Linux 2.6.12-12mdksmp, up 60 days, 12:27.]
TrivialEncoder/0.2
http://tobyinkster.co.uk/blog/2007/08/19/trivial-encoder/
Re: Line break in email
am 20.08.2007 13:22:07 von Shelly
Thank you very much. That fixed the problem.
Shelly
"Toby A Inkster" wrote in message
news:p61op4-6po.ln1@ophelia.g5n.co.uk...
> Shelly wrote:
>
>> "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
>> "Content-Transfer-Encoding: 7bit\n\n" .
>
> Change to:
>
> "Content-Type: text/plain; charset=us-ascii\r\n".
> "Content-Transfer-Encoding: 7bit\r\n".
>
> (ISO-8859-1 doesn't really make sense with 7bit.)
>
> --
> Toby A Inkster BSc (Hons) ARCS
> [Geek of HTML/SQL/Perl/PHP/Python/Apache/Linux]
> [OS: Linux 2.6.12-12mdksmp, up 60 days, 12:27.]
>
> TrivialEncoder/0.2
> http://tobyinkster.co.uk/blog/2007/08/19/trivial-encoder/