2009-11-22 4 views

답변

3

전송할 이메일의 유형에 따라 다릅니다. - 그냥 원시 텍스트와 같은 메시지에 링크를 추가,이 경우

  • 텍스트 : 현대 이메일 클라이언트는 이메일의 2 개 유형을 지원합니다. 특별한 포매팅은 필요하지 않지만 이메일 클라이언트에 의존하여 링크를 처리합니다. 대부분의 이메일 클라이언트는 http://부터 시작하는 문자열을 링크로 해석합니다.
  • Html -이 경우 링크를 일반적인 html 코드 <a href="...">...</a>으로 추가하십시오. 대부분의 이메일 요원 undestand 기본 html 잘.

기본적으로 mail() 함수는 이메일을 원시 텍스트로 보냅니다. 작은 예가 있습니다 :

$lines = array(
    "Hello!", 
    "Your password is ...", 
    "Click following link to unsubscribe:", 
    "http://your_site/unsubscribe?..." 
); 
$body = implode("\r\n", $lines); ## join lines 
mail($to, $subject, $body);  ## and send text email 
+0

\ r \ n을 사용하면 YahooMail에 문제가 발생합니다. 이러한 메시지에서 헤더를 올바르게 읽을 수 없으므로 \ n은 모두 만족할 수 있어야합니다. – sbczk

+0

HTML은 HTML 태그와 함께 전자 메일로 해석되지 않습니다. – Gal

+1

@tomaszsobczak 인용? '\ r \ n'은 확립 된 표준입니다. – ceejayoz

0

링크를 만들어 이메일 본문에 추가하면됩니다. 메일 클라이언트는 링크가 무엇인지 파악합니다. 또는 전체 html 이메일 경로로 이동할 수 있습니다.

+0

어떻게하지만 줄 바꿈을 추가하는 방법은 무엇입니까? 그리고 무엇이다 '전체 html 이메일 경로'? HTML로 전체 메일을 구성 할 수 있습니까? 예를 들어 브라우저가 메일 클라이언트로 해석 할 수 있습니까? – Gal

0

몇 가지 옵션이 있습니다.

1.You는 설정을 $ 메시지 VAR처럼 MIME 타입으로 일반 텍스트를 사용할 수 있습니다

$message = "Thank you... \n\r"; 
$message.= "next line... \n\r"; 

또는 사용 히어 닥

$message = <<<BLOCK 
Thank you... 
next line... 
BLOCK; 

대부분의 이메일 프로그램 링크를 변환해야합니다, I 생각한다. 하지만 명시 적으로해야하는 경우

2. 항상 이메일 본문에 HTML 형식의 MIME 형식을 사용할 수 있으며 메시지 본문으로 기본 HTML을 제공 할 수 있습니다.

1

일반 텍스트 전자 메일 프로그램으로 보내면 거의 항상 클릭 가능한 링크로 URL이 변환됩니다. 그렇지 않으면 HTML 전자 메일을 보낼 수 있습니다. 코드를 구성하는 방법

는 :

Smarty 템플릿이 아주 좋습니다. 변수에 전달하는 .tpl 템플릿을 가질 수 있으므로 이메일 템플릿은 필요한 태그/필드 만있는 자체 파일에 있습니다. 그런 다음 PHP는이 내용을 가져 와서 구문 분석하고 본문을 전자 메일로 보냅니다.

0

다른 사람들이 말했듯이, 이메일을 보내고 고객이 클릭 할 수있는 것을 파악하게하십시오.

메일 스크립트에서 액세스 할 수있는 폴더에 간단한 텍스트 파일 템플릿을 만듭니다.

Thanks for signing up 

This is your login data 
------------ 
u: [username] 
p: [password] 
------------- 

Active your account by clicking [activation-link] 

그런 다음 우편 스크립트에서이 파일 및 str_replace() 자리 표시자를로드합니다. 이렇게하면 이메일 메시지로 메일 스크립트를 왜곡하지 않아도되고 스크립트를 만질 필요없이 변경 사항을 쉽게 유지할 수 있습니다. 또한 코드 줄 바꿈을 신경 쓰지 않아도됩니다.

HTML 메일 사용을 적극 권장하지 않습니다. 수신단에는 엄청난 불확실성이 있습니다. 사용자는 HTML 렌더링이 불가능하거나 불가능한 클라이언트로 메일에 액세스 할 수 있으므로 대체 텍스트 (multipart)로 메일을 보내야합니다. 또한 클라이언트에서의 HTML 렌더링은 큰 고통입니다.

0

특별히 새로운 라인에 대한 질문을 해결하기 위해, 당신은 당신이 그것을 할 수있는 몇 가지 방법이 있습니다

1

$message = 'Thanks for signing up! 
blablablah *link to confirmation*' 

를 사용하여 작은 따옴표 및 줄 끝에 간단한 <enter>합니다.

2

$message = "Thanks for signing up!\n\r 
blablablah *link to confirmation*" 

사용 따옴표, \ n \ r 일 (이것은 새로운 라인 생성 - 실제로 line feed and a carriage return)와 행의 끝에서 간단한 <enter> (이 자신의 가독성을 위해 순전히이다.

3

nowk에서 알 수 있듯이

사용 heredoc.