2009-08-06 2 views
3

이 스크립트는 정상적으로 동작합니다. 문제는 내가 만들 때입니다 Click here Thunderbird 메일 링 프로그램 (Mozilla)에서 링크를 클릭 할 수 없습니다. 소스 코드를 보면 괜찮습니다. 뭐라 구요?썬더 버드에 html 메일을 보낼 때 PHP 메일에서 링크를 표시 할 수 없습니다.

public function send_mail($email='',$subject='',$text='') { 
    $mail = new PHPMailer(); 
    $db = new Db(); 
    $sql = $db->query("SELECT * FROM configuration WHERE name='shopemail' OR name='shopname'"); 
    while($configuration = $db->fetchArray($sql)) { 
     $row[$configuration['name']] = $configuration['value']; 
    } 
    // MIME BOUNDARY 
    $mime_boundary = $data['shopname'].md5(time()); 
    $headers = "From: ".$row['shopname']." <".$row['shopemail'].">\n"; 
    $headers .= "Reply-To: ".$row['shopname']." <". $row['shopemail'].">\n"; 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n"; 
    // TEXT EMAIL PART 
    $message = "--$mime_boundary\n"; 
    $message .= "Content-Type: text/html; charset=iso-8859-1\n"; 
    $message .= "Content-Transfer-Encoding: 8bit\n\n"; 
    $message .= $text."\n"; 
    // FINAL BOUNDARY 
    $message .= "--$mime_boundary--\n\n"; 
    // SEND MAIL 
    $mail_sent = @mail($email, $subject, $message, $headers); 
} 
+0

저는'$ email'이 HTML 콘텐츠라고 가정합니다. 그렇다면'$ email'의 샘플 값을 주어야합니다. Thunderbird에서 링크의 모양은 어떻게됩니까? 그냥 평범한 텍스트처럼 보입니까, 아니면 리터럴 HTML을 표시합니까? –

+0

Doh! 어리석은 실수를했습니다. Click here은 "http : //"부분을 놓쳤습니다. – Cudos

답변

2

음,

이 솔루션은 영업 이익의 의견을 통해 발견되었습니다 ...하지만 다른 사람들이 immediatly 솔루션을 볼 수 있도록 아직도, 그것은 더 나은에 "허용"대답을 가진 것 발견되었습니다 ...

그래서, 내 자신의 의견을 인용 :

나는 $ 텍스트가 HTML 콘텐츠 추측? 여전히 도움이 될 HTML 코드가 필요합니다 (이 코드에는 이 생성되지 않으므로 은 작동하지 않는 이유를 찾기가 어려움) ^^); 야생 추측 : 귀하의 링크입니다 절대 ("example.com/blah.php";) 및 상대가 아닙니다 ("/blah.php")?

그리고 Cudos에서 답 :

도현! 여기를 클릭 가 놓친 '에 http : // "바보 같은 실수를 만든 부분

을 (그리고"커뮤니티 위키 "로이 마킹, 그래서 어떤 담당자 포인트를 얻지 않는다 -"되지 않을 것 공정한 것 "이라고 생각합니다.

관련 문제