2010-02-25 6 views
9

PHPMailer에서 영구적 인 SMTP 연결을 설정하는 방법은 무엇입니까?PHPMailer의 지속적인 SMTP 연결

나는 많은 이메일을 보낼 것이므로, 영구 연결을 사용하면 아마도 성능이 향상 될 것입니다.

답변

15

서버가 블랙리스트에 올랐 으면 여기 정말 신경 쓰지 않습니까? 이것이 당신이 원하는 것을 성취하는 방법입니다. 단지 trueSMTPKeepAlive 속성으로 설정하고 대량 전송 후에는 암시 적으로 SmtpClose() 메서드를 호출하십시오. 이메일의 특정 번호를 살아 SMTP 연결을 유지, 대량 전송 및 빠른 보낼 때

$phpMailer = New PHPMailer(); 
$phpMailer->isSMTP(); 
$phpMailer->SMTPKeepAlive = true; 

for (...) { 
    // Send your emails right away 
    [ ... ] 
} 

$phpMailer->SmtpClose(); 
+0

감사합니다. Mauro! 이것은 제가 찾고 있던 대답입니다. –

+1

안녕하세요 마우로 나는 같은 코드 $ phpMailer-> SMTPKeepAlive = true를 사용했습니다. 그러나 이메일 전송 속도는 증가하지 않았습니다. 이 코드 줄은 필자의 경우 성능을 변경하지 않습니다. 다른 의견이 있으시면 제안 해주십시오. –

+1

@maheshkajale,'$ phpMailer-> SMTPKeepAlive = true'는 첫 번째 이메일에서 연결을 닫지 않으므로 다음 메일에서 열 필요가 없습니다. 그러나 서버가 어쨌든 연결을 닫을 수 있으며 변경할 수 없습니다. 전자 메일을 더 빨리 보내야하는 경우 Mandrill 또는 Mailgun과 같은 API 기반 전자 메일 플랫폼을 사용하는 것이 좋습니다. 여기서 단일 요청으로 수백 건의 전자 메일을 보낼 수 있습니다. 그러나 스팸을하려는 경우, 내가 당신을 도왔다는 것을 잊어 버리고, 당신이 한 일에 대해 당신의 방과 물건으로 가십시오. – Mauro

2

영구 SMTP 연결이란 무엇을 의미합니까?

먼저 당신은이 작업을 완료 할 때까지 서버에 연결되는 이메일를 보내는 경우. 당신이 많은 이메일을 보낼 싶다면 둘째는 whitch 모든 이메일 adresses을 가져 와서 phpmailer에 전달하고 마침내 그들을 sendts 당신이 당신의 PHP 코드에서 루프 쓰기 (아마 서버가 블랙리스트에있을 것입니다) . 어떻게 대량 메일을 보내겠습니까.

+0

하지만 PHPMailer의 일부 위치에서 활성화해야합니다. 왜냐하면 모든 이메일을 연결하고 연결을 끊을 수 있기 때문입니다. –

+0

좋습니다. 이해 했어. –

+0

내 서버가 인식되어 블랙리스트에 올릴 필요가없는 (거의) 물건이 있습니다. 우리는 정기적으로 이메일을 보내고 많은 고객층을 확보하고 있으며, 이러한 규칙성을 통해 수신 서버에서도 순위를 매길 수 있습니다. –

2

전자 메일 보내기를 최적화하면 스팸으로 식별되어 웹 서버가 사용자의 IP를 차단하게됩니다.

몇 개의 이메일을 보내십니까? 속도를 높이기보다는 보내지는 이메일을 실제로 억제하는 것이 더 좋을 수 있습니다.

+0

현재 2500 개의 전자 메일을 보내고 있습니다. –

+0

예, 조절에 대해 동의합니다. 시간당 500-1000으로 제한하면 스팸으로 간주 될 가능성이 없어야합니다. – Cez