2016-07-08 11 views
1

PHP로 티켓팅 시스템을 연구 중입니다. 나는 표를 우편으로 바꾼다. 사용자가 티켓팅 시스템의 메일에 응답하면 고객에게 새 메일로 메일을 보냅니다. 메시지/메일 스레딩이 없습니다.전자 메일 제목에 티켓 ID를 추가 한 후 메일 스레딩 작업을 수행하는 방법

내 문제는 제목 끝에 추가 된 티켓 ID와 관련이 있다고 생각합니다. (예를 들어, Subject: Installation Problem [#EMSY45])

내가 메일을 보내 PHPMailer를 사용하고있는 헤더

의 메시지 ID 및 참조를 전달했습니다.

여기 내 코드입니다 : 당신이 말 주제에 티켓 ID를 추가해야하는 경우

$mail = new PHPMailer(); 
$mail->isSMTP(); // Set mailer to use SMTP 
$mail->Host = str_replace('/', '', $host); // Specify main and backup SMTP servers 
if($outgoing_server_details['smtp_auth'] == 1) 
     $mail->SMTPAuth = true; // Enable SMTP authentication 

$mail->Username = $outgoing_server_details['server_username']; // SMTP username 
$mail->Password = $outgoing_server_details['server_password']; // SMTP password 
$mail->SMTPSecure = $protocol; // Enable TLS encryption, `ssl` also accepted 
$mail->Port = $port; 

$mail->setFrom($outgoing_server_details['from_email_field'], $from_name); 
$mail->addAddress($data['_from'], $to_name); // Add a recipient 
$mail->addReplyTo($outgoing_server_details['from_email_field'], $reply_to_name); 
$message_id = $data['message_id']; 
$mail->AddCustomHeader('In-Reply-To', $message_id); 
$mail->AddCustomHeader('References', $message_id); 

//$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
$mail->isHTML(true);         // Set email format to HTML 

$mail->Subject = $data['subject']; 
$mail->Body = $mail_content; 
$mail->send(); 
+0

당신은 그 헤더를 설정하여 옳은 일을하고 있지만 당신이 정말로 수신 된 메시지의 헤더를 검사 할 필요가 - 당신은 메시지 ID이 제대로되고 있는지, 그리고 이전 메시지 ID와 정확하게 일치합니까? – Synchro

+0

@Synchro 확실하게 메시지 ID를 올바르게 추가하려고합니다. IMAP을 사용하여 메일을 가져올 때. 나는 메시지 ID도 얻는다. References 헤더에도 동일한 메시지 ID를 추가하고 있습니다. –

+0

일부 클라이언트는이 헤더에주의를 기울이는 데있어 다른 클라이언트보다 낫습니다. 일부 클라이언트는 쓸모가 없으며 제목 줄과 일치하는 경험적 방법에 의존합니다. 모든 클라이언트 앱에서이 문제가 발생하고 있습니까? – Synchro

답변

-1

E-Mail은 다음이 시도.

$mail->Subject = "Installation Problem [".$message_id."]"; 

또는

$mail->Subject = $data['subject'].$message_id;

그리고 몸이 설정된 후

$mail->isHTML(true); // 항상 와야 한 번 더 수정. 즉

,

$mail->Subject = $data['subject'].$message_id; 
$mail->Body = $mail_content; 
$mail->isHTML(true); 
$mail->send(); 
+0

이것은 해결책이 아닌 화장품 수정입니다. isHTML을 호출 할 때 중요하지 않습니다 - 코드를 읽으십시오. – Synchro

+0

@avinash 제목 끝에 티켓 ID를 추가 할 수 있습니다. 내 문제는 메일 스레딩입니다. 마지막에 티켓 ID를 추가하면 메일 스레딩이 작동하지 않습니다. –