, 어떻게 이런 걸보고를 구성 않습니다PHP 이메일 확인 - 메일을 어떻게 구성합니까? html 태그 사용? 나는 사용자에게 이메일 확인 메시지를 보낼 때
내가 링크를 추가하려면 어떻게? 태그 사용? 그리고 개행?
$message = 'Thanks for signing up!' - a newline afterwards...
then blablablah *link to confirmation*
정말 고맙겠습니다.
, 어떻게 이런 걸보고를 구성 않습니다PHP 이메일 확인 - 메일을 어떻게 구성합니까? html 태그 사용? 나는 사용자에게 이메일 확인 메시지를 보낼 때
내가 링크를 추가하려면 어떻게? 태그 사용? 그리고 개행?
$message = 'Thanks for signing up!' - a newline afterwards...
then blablablah *link to confirmation*
정말 고맙겠습니다.
전송할 이메일의 유형에 따라 다릅니다. - 그냥 원시 텍스트와 같은 메시지에 링크를 추가,이 경우
http://
부터 시작하는 문자열을 링크로 해석합니다.<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
링크를 만들어 이메일 본문에 추가하면됩니다. 메일 클라이언트는 링크가 무엇인지 파악합니다. 또는 전체 html 이메일 경로로 이동할 수 있습니다.
어떻게하지만 줄 바꿈을 추가하는 방법은 무엇입니까? 그리고 무엇이다 '전체 html 이메일 경로'? HTML로 전체 메일을 구성 할 수 있습니까? 예를 들어 브라우저가 메일 클라이언트로 해석 할 수 있습니까? – Gal
몇 가지 옵션이 있습니다.
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을 제공 할 수 있습니다.
일반 텍스트 전자 메일 프로그램으로 보내면 거의 항상 클릭 가능한 링크로 URL이 변환됩니다. 그렇지 않으면 HTML 전자 메일을 보낼 수 있습니다. 코드를 구성하는 방법
는 :Smarty 템플릿이 아주 좋습니다. 변수에 전달하는 .tpl 템플릿을 가질 수 있으므로 이메일 템플릿은 필요한 태그/필드 만있는 자체 파일에 있습니다. 그런 다음 PHP는이 내용을 가져 와서 구문 분석하고 본문을 전자 메일로 보냅니다.
다른 사람들이 말했듯이, 이메일을 보내고 고객이 클릭 할 수있는 것을 파악하게하십시오.
메일 스크립트에서 액세스 할 수있는 폴더에 간단한 텍스트 파일 템플릿을 만듭니다.
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 렌더링은 큰 고통입니다.
특별히 새로운 라인에 대한 질문을 해결하기 위해, 당신은 당신이 그것을 할 수있는 몇 가지 방법이 있습니다
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.
\ r \ n을 사용하면 YahooMail에 문제가 발생합니다. 이러한 메시지에서 헤더를 올바르게 읽을 수 없으므로 \ n은 모두 만족할 수 있어야합니다. – sbczk
HTML은 HTML 태그와 함께 전자 메일로 해석되지 않습니다. – Gal
@tomaszsobczak 인용? '\ r \ n'은 확립 된 표준입니다. – ceejayoz