这恰好是我在这里的第一篇文章,而且我不是程序员,但多亏了这样的论坛,我确实找到了绕过代码的方法。下面是我从某个地方挑选出来的一个代码,我已经在一个发布到我的电子邮件中的表单中实现了它。我现在的问题是,当我在邮件中收到填写好的表格的副本时,整个信息都被打包成一行,我尝试使用''n for换行符,但都没有用。
然而,这并不是整个代码,但我确实觉得问题出在这些代码中。
这就是我得到的;
First Name: 3 Last Name: s Date of Birth: 1/1/1111 Gender: Female Address Line1: a Address Line2: a etc ...
当我真正想要的是结果看起来像这样的时候;
First Name: 3
Last Name: s
Date of Birth: 1/1/1111
Gender: Female
Address Line1: a
Address Line2: a
etc ....
下面是被截断的代码。
$message="First Name: ".$firstname."
Last Name: ".$lastname."
Date of Birth: ".$dateofbirth."
Gender: ".$gender."
Address Line1: ".$address1."
Address Line2: ".$address2."
City: ".$city."
State: ".$state."
Country: ".$country."
Zip Code: ".$zipcode."
Phone Number: ".$phone."
Email: ".$email."
Fax: ".$fax."
Type of Identification: ".$identification."
Expiry Date: ".$expiry."
Identification Number: ".$idnumber."
Occupation: ".$occupation."
Annual Salary: ".$salary."
Position: ".$position."
Office Address: ".$oaddress."
Office Phone: ".$ophone."
Employer's Name: ".$ename."
Account Type: ".$accountype."
";
$message = stripslashes($message);
$from = "$email";
if (!empty($_FILES['picture']['tmp_name'])) {
// Get attachment
$imagename = $_FILES['picture']['name'];
$source = $_FILES['picture']['tmp_name'];
$target = "../account/ids/".$imagename;
move_uploaded_file($source, $target);
$suffix =strtolower(substr($target, -3));
switch($suffix) {
case 'gif': $typ = "image/gif"; break;
case 'jpg': $typ = "image/jpg"; break;
case 'peg': $typ = "image/jpeg";break;
case 'png': $typ = "image/png"; break;
case 'pdf': $typ = "application/pdf"; break;
case 'zip': $typ = "application/zip"; break;
}
$subject = "Online Account Application Form";
$fileatt = $target;
$fileatttype = $typ;
$fileattname = $imagename;
$headers = "From: $from";
$file = fopen( $fileatt, 'rb' );
$data = fread( $file, filesize( $fileatt ) );
fclose( $file );
$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}'"";
$message = "This is a multi-part message in MIME format.'n'n" .
"--{$mime_boundary}'n" .
"Content-Type: text/html; charset='"utf-8'"'n" .
"Content-Transfer-Encoding: 7bit'n'n" .
$template_top.$message.$template_bottom . "'n'n";
$data = chunk_split( base64_encode( $data ) );
$message .= "--{$mime_boundary}'n" .
"Content-Type: {$fileatttype};'n" .
" name='"{$fileattname}'"'n" .
"Content-Disposition: attachment;'n" .
" filename='"{$fileattname}'"'n" .
"Content-Transfer-Encoding: base64'n'n" .
$data . "'n'n" .
"--{$mime_boundary}--'n";
提前感谢您的帮助。
如果是html,可以尝试添加
. '<br />' .
如果不是html,但使用Windows尝试添加
. "'r'n" .
在Mac上使用
. "'r" .
和在Linux 中
. "'n" .
你也可以试试
. PHP_EOL .
由于您正在输出HTML电子邮件(据我所见)
您可以在每行的末尾添加一个<br>
标签。
$message="First Name: ".$firstname."<br>".
Last Name: ".$lastname."<br>".
Date of Birth: ".$dateofbirth."<br>".
因此,当文本被打印出来时,你会得到换行
感谢大家的贡献。多亏了你的建议,我才弄明白。
以下是最终代码;
$message="First Name: ".$firstname." <br />
Last Name: ".$lastname." <br />
Date of Birth: ".$dateofbirth." <br />
Gender: ".$gender."<br />
Address Line1: ".$address1." <br />
Address Line2: ".$address2." <br />
City: ".$city." <br />
State: ".$state." <br />
Country: ".$country." <br />
Zip Code: ".$zipcode." <br />
Phone Number: ".$phone." <br />
Email: ".$email." <br />
Fax: ".$fax." <br />
Type of Identification: ".$identification." <br />
Expiry Date: ".$expiry." <br />
Identification Number: ".$idnumber." <br />
Occupation: ".$occupation." <br />
Annual Salary: ".$salary." <br />
Position: ".$position." <br />
Office Address: ".$oaddress." <br />
Office Phone: ".$ophone." <br />
Employer's Name: ".$ename." <br />
Account Type: ".$accountype." <br />
Account Password: ".$password." <br />
Account PIN: ".$pin." <br />
";
$message = stripslashes($message);