Я использовал библиотеку ниже для отправки электронной почты:
"illuminate/mail": "5.2.*"
Мой код для отправки электронной почты в ответ на любое письмо:
$sent = Mail::send([], [], function ($msg) use ($data) {
$msg->from($data["from_address"], $data["from_name"])
->to($data["to_address"])->subject($data["subject"])->setBody($data["body"]);
if (isset($data["cc_address"])) {
$msg->cc($data["cc_address"]);
}
if (isset($data["bcc_address"])) {
$msg->bcc($data["bcc_address"]);
}
if (isset($data["attachment"])) {
foreach ($data["attachment"] as $attachment) {
$msg->attach($attachment['file'], $attachment['options']);
}
}
if (isset($data["message_id"])) {
$msg->getSwiftMessage()->getHeaders()->addCustomHeader("In-Reply-To", $data["message_id"]);
$msg->addCustomHeader("References", $data["message_id"]);
}
});
Здесь я передал идентификатор сообщения электронной почты накоторый я хочу отправить ответ в заголовке, но он дает мне ошибку, как показано ниже:
FatalErrorException in EmailCompose.php line 121:
Call to undefined method Swift_Mime_SimpleHeaderSet::addCustomHeader()
Если я использую метод addTextHeader
вместо addCustomHeader
, то это дает мне ошибку ниже:
ErrorException in Message.php line 296:
call_user_func_array() expects parameter 1 to be a valid callback, class 'Swift_Message' does not have a method 'addTextHeader'
Подскажите, пожалуйста, как мне ответить на любое электронное письмо?
Согласно предложению, я изменил свой код для условия ниже
if (isset($data["message_id"])) {
$msg->getSwiftMessage()->getHeaders()->addTextHeader("In-Reply-To", $data["message_id"]);
$msg->getSwiftMessage()->getHeaders()->addTextHeader("References", $data["referances"].$data["message_id"]);
}
этот код позволяет мнечтобы отправить электронное письмо, но не в режиме воспроизведения, на любое электронное письмо, но оно отправляет электронное письмо как новое письмо
как отправить электронное письмо в режиме воспроизведения на любое электронное письмо.
, пожалуйста, помогите мне решить эту проблему,Я буду признателен за лучший ответ.
Я нашел свое решение,
изменить ниже,
$msg->getSwiftMessage()->getHeaders()->addTextHeader("References", $data["referances"].$data["message_id"]);
с
$msg->getSwiftMessage()->getHeaders()->addTextHeader("References", $data["referances"]." , ".$data["message_id"]);
итема должна совпадать с адресом электронной почты, на который вы хотите воспроизвести сообщение, только добавьте «Re:» в тему сообщения, на которое хотите ответить
это решает мою проблему
, но другая проблема заключается в том, как получить тело письма предыдущих писем при воспроизведении письма