2011-08-09 3 views
3
$str = "Hello Jagdish \n\n"; 
$str .= "this is nice evening \n\n"; 
$str = stripcslashes($str); 
mail($to, $subject, $message); 

점점되지 않는 이유는 무엇입니까?
이메일을받는 방법은 무엇입니까?"는 N"Outlook 이메일

+0

개행 문자가 있습니까? 아니면 모든 것이 하나의 줄로 묶여 있습니까? – Dereleased

답변

4

Outlook re-formats plain-text e-mails as it sees fit. 이것은 옵션에서 해제 할 수 있지만 평범한 텍스트로 고객에게 물건을 보내는 경우에는이 작업을 수행 할 수있는 방법이 없습니다.

이론은 고정 너비 열을 감지하고 전자 메일을 읽을 수 있도록 고정 너비를 제거하려고한다는 것입니다. 제 경험상, 이것은 당신이 경험하고있는 것처럼 단순히 성가심을 유발합니다.

전자 메일의 HTML 버전을 보내려면 올바르게 사용되고 서식이 지정됩니다. HTML 버전을 사용할 수없는 클라이언트의 경우 HTML 버전 외에도 일반 텍스트 버전을 보내야하며, Outlook에서는 기본적으로 HTML 버전이있는 경우이를 사용합니다.

+0

여전히 최신 버전의 Outlook에 적용되는지 모르겠습니다. 이전에는 공백으로 접두사를 붙이면 줄 바꿈을 자동으로 제거하지 못하는 것이 었습니다. –

-1

Windows에서 \r\n 줄 바꿈을 사용하는 경우 \n을 모두 \r\n으로 바꿔보십시오. 또한, 당신은 Outlook이 일반 텍스트 전자 메일에 자동으로 줄 바꿈을 제거 \n

+0

여기는 문제가 아닙니다. – Brad

+1

이 대답은 잘못되었습니다. 이중 따옴표 매커니즘은 구문 분석이 끝나 자마자 "\ n"을 문자 '0x0A'로 이스케이프 처리합니다. 'stripcslashes'는이 경우 ** 효과가 없습니다 **. 'echo strlen ("\ n");'으로 간단히 테스트 할 수 있습니다. 출력은 1입니다. – Dereleased

+3

이것은 잘못된 답변입니다. 그것은 Outlook의 기능이며 줄 바꿈의 종류와 관련이 없습니다. 내 대답을 보라. – GolezTrol

2

n로는 변환으로 $str = stripcslashes($str);을 제거해야합니다.

만약 그렇다면 적어도 Outlook 2003과 마찬가지로 복원 할 수있는 옵션이 있습니다.

0

동일한 문제 (자바에서)를 사용하여 일반 텍스트 이메일을 생성 \ n 및. 나에게 2 \ n을 사용하는 것이 두 줄을 새로 추가했기 때문에 성가신 일 이었으므로 한 줄이 아닌 두 줄의 줄을 새로 추가 할 수있었습니다.

나는 \ r \ n 시도했지만 트릭을하지 않는 것.

내 문제를 해결 한 해킹을 발견했습니다. 방금 라인 끝과 \ n 앞에 공백을 추가했습니다. 나는 그것이 작동하기 위해 정확히 3 칸이 필요하다는 것을 알아 냈습니다.

본문 + = "단어 단어 \ n";

내 줄은 공백없이 57 자 길이 였으므로 그 전망은 60 칸 (57 + 3 = 60) 미만인 줄을 결합한다고 가정합니다. Outlook은 나를 이렇게하기 위해 끔찍한 일이지만 나를 위해 일했습니다!