v2.5.2
Giriş yap

Phpmailler smtp gönderim süresi uzunluğu

aydinkeskin
706 defa görüntülendi

phpmailler ile email gönderme işlemi ypaıyorum
işlem öncesinde recaptcha v3 ile işlem yapıyor
sonra db kaydı
sonra mail gönderimi

bu işlemler
4-9 sn arasında değişiyor

mail i kaldırınca anlık oluyor ama mail ekleyince bu süre uzuyor bu hosting ile alakalı olma durumu nedir.

Cevap yaz
Cevaplar (5)
aydinkeskin
1132 gün önce

toplu mail göndermiyorum.
smtp ile gmail üzerinden başka bir mail e gönderiyorum o kadar her zaman kullandığım şeyi kullanıyorum ama nedense sorun çıkardı bu son işte.



function MailGonder($konu, $mesaj, $kime){
global $db;

$ayar = $db->query("SELECT * FROM ayar_s WHERE ID=1")->fetch(PDO::FETCH_ASSOC);	
$mailayar = $db->query("SELECT * FROM ayar_m WHERE ID=1")->fetch(PDO::FETCH_ASSOC);	
 
require_once 'vendor/autoload.php';

$mail = new PHPMailer(true);
$mail->isSMTP();
// $mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->Host = $mailayar['mail_host'];
$mail->Port = $mailayar['mail_port'];
// $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth   = true; 
// $mail->AuthType = 'XOAUTH2';

if($mailayar['mail_prosedur'] != 'standart'){
$mail->SMTPSecure = $mailayar['mail_prosedur'];
}
$mail->Username = $mailayar['mail_kadi'];
$mail->Password = $mailayar['mail_sifre'];
$mail->SetLanguage("tr", "phpmailer/language");
$mail->CharSet  ="utf-8";
$mail->From = $mailayar['mail_kadi'];
$mail->FromName = $ayar['title'];
$mail->AddAddress($kime);
$mail->IsHTML(true);
$mail->Subject = $konu;
$mail->Body    = '
<body>
<br>
<div style="width:100%;padding:10px;font-size:12pt;font-family:Arial;">
<br><br>
'.$mesaj.'
</div>
<br><br>
Saygılarımızla</body>
</html>
';
return $mail->send();
$mail->ClearAddresses();

 

}

fonksiyonsuz olarak kullansam da aynısı yapıyor fonksiyon içindede aynısı işin saçma tarafı aynı sunucuda başka bir domainde bir problem yok
sadece smtp ile göndermeye çalışınca böyle bir bekleme söz konusu.

qplot
1139 gün önce

toplu mail gönderiyorsan amazonSES kullan ( kurulumu zordur :) )

veya cron job ile arka planda gönder mailleri

yoksa ben tek maıl gonderıyorum ve uzun suruyor dıyorsan sunucunun maıl adresi ile gonderıyorsan hostla alakalıdır

yandex vs ise dongude hata yapmıs olabılırsın kodları koyda gorelım .)

tayfunerbilen
1140 gün önce

mail gönderme işlemlerini bir servis üzerinden yaparsan (send grid, mailjet, mailgun) gibi daha sağlıklı olur böyle problemlerle de uğraşmamış olursun :)
yok ben bu yolu istiyorum dersende o zaman asenkron olarak gönderme işlemi yapabilirsin.
Örn: http://www.erbilen.net/php-multi-process-asenkron-dosya-calistirma/

omerf
1140 gün önce

hocam hostla pek ilgisi yok genelde uzun sürüyor bu işlem ajax ile arka planda yapmaya çalışın kullanıcıyı rahatsız etmemesi için

murat5858
1140 gün önce

php.ini den max_execution_time ve max_input_time bakabilirsin