Я использую аутентификацию Google XOAuth2 SMTP с помощью клиентской библиотеки League OAuth2.Я не хочу хранить отправленные письма в папке отправленных Gmail.Письмо успешно отправлено через учетную запись Gmail и отображается в отправленных элементах, но я не хочу показывать в отправленных элементах.Дайте мне знать, если есть метод.
Вот мой сценарий.
$mail = new PHPMailer\PHPMailer\PHPMailer();
try {
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->AuthType = 'XOAUTH2';
$mail->Port = 587;
$email = '***@****.com';
$clientId = '********************************************.apps.googleusercontent.com';
$clientSecret = '*******************';
$refreshToken = '*********************************************';
$provider = new League\OAuth2\Client\Provider\Google(
[
'clientId' => $clientId,
'clientSecret' => $clientSecret,
]
);
$mail->setOAuth(
new PHPMailer\PHPMailer\OAuth(
[
'provider' => $provider,
'clientId' => $clientId,
'clientSecret' => $clientSecret,
'refreshToken' => $refreshToken,
'userName' => $email,
]
)
);
//Recipients
$mail->setFrom($FromEmail,$FromName);
if(is_array($to)){
foreach($to as $eachEmail){
$mail->addAddress($eachEmail);
}
}else{
$mail->addAddress($to);
}
if($replyTo != ''){
$mail->addReplyTo($replyTo);
}else{
$mail->addReplyTo($FromEmail);
}
if($bcc != ''){
$mail->addBCC($bcc);
}
if(is_array($attachments) AND !empty($attachments)){
foreach($attachments as $File){
$mail->addAttachment($File);
}
}else if($attachments != ''){
$mail->addAttachment($attachments);
}
//Content
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $message;
$mail->send();
return true;
}
catch (Exception $e)
{
return false;
}
catch (\Exception $e)
{
return false;
}