Gmail에 로그인하고받은 편지함의 모든 이메일을 삭제하는 php 함수를 조합하려고합니다. 그게 전부 야. 나는 그것과 함께 약간 정지 상태에 있으며 다른 코드를 수정하여 작동 시키도록하는 등 여러 가지 방법으로 시도했지만 제한된 성공을 거두었 다.계정에서 모든 이메일 삭제
가장 최근의 존재 :
내가 부족하거나 할 수있는 청소기 방법이 무엇인지function deleteEmails($emailAddress, $reportUrl, $reportType)
{
$result = "error";
// DOWNLOAD DATA
// the max time allows for the email to download
set_time_limit(30000);
// connect to gmail with your credentials
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = $emailAddress; # e.g [email protected]
$password = $superSecretPasswordShhhhhhhh;
// try to connect
$inbox = imap_open($hostname,$username,$password) or die('Cannot download information: ' . imap_last_error());
$emails = imap_search($inbox,'ALL');
// if any emails found, iterate through each email
if($emails)
{
$count = 1;
// for every email...
foreach($emails as $email_number)
{
// TRIED BOTH, BUT THE EMAILS WOULDN'T DELETE
//imap_delete($inbox,$email_number);
imap_mail_move($inbox, $email_number,'[Gmail]/Bin');
$result = "success";
}
}
// close the connection
imap_close($inbox,CL_EXPUNGE);
return $result;
}
어떤 아이디어?
계정에서 이메일을 다운로드하고 첨부 된 보고서를 저장하는 기능을 루프 응용 프로그램이 있습니다 :
왜의 질문에 대답합니다. 이것은 잘 작동하지만 문제는 매분마다 보고서가 도착하므로 기능을 실행할 때 수백 가지의 보고서가 진행될 수 있습니다. 그래서 프로세스를 시작하기 전에 백 로그를 청소하면받은 편지함을 깨끗하게 유지하는 것이 가장 좋습니다.다음 코드는 그대로 사용하십시오. 그것은 전자 메일을 삭제한다는 점에서 작동하지만 전자 메일이 모두 사라지더라도 서버 오류가 발생할 때까지 실행됩니다. 제가 누락 된 아이디어가 있습니까?
// DELETE ALL EMAILS IN ACCOUNT
함수 deleteEmails ($ EMAILADDRESS)는 는 $ { 은 = "오류"를 발생; // 데이터 다운로드 // 전자 메일을 다운로드 할 수있는 최대 시간이 허용됩니다. set_time_limit (30000);
// connect to gmail with your credentials
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = $emailAddress; # e.g [email protected]
$password = $superSecretPasswordShhhhh;
// try to connect
$inbox = imap_open($hostname,$username,$password) or die('Cannot download information: ' . imap_last_error());
$emails = imap_search($inbox,'ALL');
// if any emails found, iterate through each email
if($emails)
{
$count = 1;
// put the newest emails on top
rsort($emails);
// for every email...
foreach($emails as $email_number)
{
// TESTING BOTH METHODS
imap_delete($inbox,$email_number);
//imap_mail_move($inbox, $email_number,'[Gmail]/Bin');
$result = "success";
}
}
// close the connection
imap_expunge($inbox);
imap_close($inbox,CL_EXPUNGE);
return $result;
}
조금 의심스러운가요? 왜 이것이 좋은 일인가? –
이것은 Gmail 자체에서 쉽게 수행 할 수 있습니다. 수표를 클릭하면 상단에 작은 메시지가 나타나며 "이 페이지에있는 모든 ** 25 ** 대화가 선택되었습니다."라는 메시지가 표시됩니다. ** 모든 14113 ** 대화를 Inbox에서 선택하십시오. 모두 선택한 다음 휴지통을 클릭하면 모든 항목이받은 편지함에서 삭제됩니다. – Nathan
계정에서 전자 메일을 다운로드하고 첨부 된 보고서를 저장하는 기능을 반복하는 응용 프로그램이 있습니다. 이것은 잘 작동하지만 문제는 매분마다 보고서가 도착하므로 기능을 실행할 때 수백 가지의 보고서가 진행될 수 있습니다. 따라서 프로세스를 시작하기 전에 백 로그를 정리하면받은 편지함을 깨끗하게 유지하는 것이 가장 좋습니다. –