PHPのチケットシステムで作業しています。私はチケットをチケットに変換します。ユーザーがTicketingシステムからのメールに返信すると、顧客に新しいメールとしてメールが送信されます。メッセージ/メールのスレッドはありません。電子メールの件名にチケットIDを追加した後にメールスレッドを作成する方法
私の問題は、問題の最後に追加されたチケットIDに関連していると思います。 (例えばSubject: Installation Problem [#EMSY45]
)
私は私がメールを送信するphpmailerのを使用していますヘッダー
にメッセージ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();
あなたはこれらのヘッダを設定することで、正しいことをやっているが、あなたは本当に受信したメッセージのヘッダーを検査する必要があります - あなたは、メッセージID、正しく装着されていることを確信している、と以前のメッセージIDと正確に一致しますか? – Synchro
@シンクロ私は間違いなく、メッセージIDを正しく追加しています。私はIMAPを使ってメールを取得します。メッセージIDも取得します。 Referencesヘッダーにも同じメッセージIDを追加しています。 –
一部のクライアントは、これらのヘッダーに注意を払うことで、他のクライアントよりも優れています。一部のものは、役に立たず、代わりに件名に一致するヒューリスティックに依存しています。すべてのクライアントアプリでこの動作が見られますか? – Synchro