рдпрд╣ рдЖрд▓реЗрдЦ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЧреМрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрджрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ IMAPSync рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░реЛрдВ рдХреЗ рдмреАрдЪ рдореЗрд▓ рдХреИрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЧрдВрддрд╡реНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╡рд╛рд▓рд╛ рдПрдХ рдмреЙрдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Imapsync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (https://imapsync.lamiral.info/#install)ред
рд╕рдВрдЧрдарди рджреНрд╡рд╛рд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд░реНрдордЪрд╛рд░реА рдИрдореЗрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реМрдВрдкреА рдЧрдИ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдлреЙрд░реНрдо рдореЙрдбреНрдпреВрд▓ (gis.html) рдФрд░ рдПрдХ imapsync рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪрд░ рдореЙрдбреНрдпреВрд▓ (gis.php) рд╢рд╛рдорд┐рд▓ рд╣реИред рдлреЙрд░реНрдо рднрд░рдиреЗ рдкрд░... рд╕рд░реНрд╡рд░ рдореЗрд▓рдмреЙрдХреНрд╕ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ IMAP рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░рд╛рдЙрдВрдбрдХреНрдпреВрдм рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╝реЗрдЪрдореЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рд╕реБрд╕рдВрдЧрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдореЗрд▓рдмреЙрдХреНрд╕, рдПрдХ рдСрдкрд░реЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рдмрдЯрди (gis.html) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script>
//╨╖╨░╨┐╤Г╤Б╨║ ╤Б╨║╤А╨╕╨┐╤В╨░ sh ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╨╜╨╛╨╣ ╤Б╤В╤А╨╛╨║╨╕ linux
function isexe() {
var ta = document.getElementById('output');
document.getElementById('output').value += 'Start import, please wait...n';
var source = new EventSource('gis.php');
source.addEventListener('message', function(e) {
if (e.data !== '') {
ta.value += e.data + 'n';
}
}, false);
source.addEventListener('error', function(e) {
source.close();
}, false);
}//isexe
//╨║╨╜╨╛╨┐╨║╨░ ╨Т╤Л╨┐╨╛╨╗╨╜╨╕╤В╤М
function Complete() {
document.cookie = "mail1="+document.maildata.mail1.value;
document.cookie = "pass1="+document.maildata.pass1.value;
document.cookie = "mail2="+document.maildata.mail2.value;
document.cookie = "pass2="+document.maildata.pass2.value;
document.cookie = "msrv1="+document.maildata.msrv1.value;
document.cookie = "msrv2="+document.maildata.msrv2.value;
//alert(document.cookie); // ╨┐╨╛╨║╨░╨╖╤Л╨▓╨░╨╡╨╝ ╨▓╤Б╨╡ ╨║╤Г╨║╨╕
isexe();
document.cookie = "mail1="+document.maildata.mail1.value+"; max-age=0";
document.cookie = "pass1="+document.maildata.pass1.value+"; max-age=0";
document.cookie = "mail2="+document.maildata.mail2.value+"; max-age=0";
document.cookie = "pass2="+document.maildata.pass2.value+"; max-age=0";
document.cookie = "msrv1="+document.maildata.msrv1.value+"; max-age=0";
document.cookie = "msrv2="+document.maildata.msrv2.value+"; max-age=0";
}//Complete
function ShowCookie() {
alert(document.cookie); // ╨┐╨╛╨║╨░╨╖╤Л╨▓╨░╨╡╨╝ ╨▓╤Б╨╡ ╨║╤Г╨║╨╕
}
</script>
</head>
<body>
<H1>╨Ь╨╕╨│╤А╨░╤Ж╨╕╤П ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░</H1>
<FORM NAME="maildata">
<TABLE>
<TR><TD><B>╨Ш╤Б╤Е╨╛╨┤╨╜╤Л╨╣ ╨┐╨╛╤З╤В╨╛╨▓╤Л╨╣ ╤П╤Й╨╕╨║:<B></TD>
<TD><INPUT NAME="mail1" SIZE=20 VALUE=""
<TR><TD><B>╨Я╨░╤А╨╛╨╗╤М:<B>
<TD><INPUT TYPE="password" NAME="pass1" SIZE=20 VALUE=""
<TR><TD><B>IMAP ╤Б╨╡╤А╨▓╨╡╤А:<B></TD>
<TD><INPUT NAME="msrv1" SIZE=20 VALUE=""<TD>
<TR><TD><B>╨Ъ╨╛╨╜╨╡╤З╨╜╤Л╨╣ ╨┐╨╛╤З╤В╨╛╨▓╤Л╨╣ ╤П╤Й╨╕╨║:<B></TD>
<TD><INPUT NAME="mail2" SIZE=20 VALUE=""
<TR><TD><B>╨Я╨░╤А╨╛╨╗╤М:<B>
<TD><INPUT TYPE="password" NAME="pass2" SIZE=20 VALUE=""
<TR><TD><B>IMAP ╤Б╨╡╤А╨▓╨╡╤А:<B></TD>
<TD><INPUT NAME="msrv2" SIZE=20 VALUE=""<TD>
</TABLE>
<p>╨а╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨▓╤Л╨┐╨╛╨╗╨╜╨╡╨╜╨╕╤П:<br/><textarea id="output" style="width: 50%; height: 25em;"></textarea></p>
<INPUT TYPE="button" VALUE="╨Т╤Л╨┐╨╛╨╗╨╜╨╕╤В╤М" onClick="Complete();">
<INPUT TYPE="reset" VALUE="╨б╨▒╤А╨╛╤Б">
<INPUT TYPE="button" VALUE="╨Я╨╛╨║╨░╨╖╨░╤В╤М cookie" onClick="ShowCookie();">
</FORM>
</body>
</html>imapsync рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪрд░ (gis.php)ред
<?php
ob_end_flush();
ini_set("output_buffering", "0");
ob_implicit_flush(true);
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
//╨▓╤Л╨▓╨╛╨┤ ╨▓ ╨╛╨▒╨╗╨░╤Б╤В╤М ╤Б╨╛╨╛╨▒╤Й╨╡╨╜╨╕╨╣
function echoEvent($datatext) {
echo "data: ".implode("ndata: ", explode("n", $datatext))."nn";
}//echoEvent
echoEvent("Start!");
//╤Д╨╛╤А╨╝╨╕╤А╤Г╨╡╨╝ ╤Б╤В╤А╨╛╨║╤Г ╨╖╨░╨┐╤Г╤Б╨║╨░ ╤Б╨║╤А╨╕╨┐╤В╨░ imapsync ╤Б ╨┐╨░╤А╨░╨╝╨╡╤В╤А╨░╨╝╨╕
$strexe = "/bin/bash /home/user/imapsync/startimapsync.sh "
.htmlspecialchars($_COOKIE["mail1"]).' '
.htmlspecialchars($_COOKIE["pass1"])." "
.htmlspecialchars($_COOKIE["mail2"])." "
.htmlspecialchars($_COOKIE["pass2"])." "
.htmlspecialchars($_COOKIE["msrv1"])." "
.htmlspecialchars($_COOKIE["msrv2"]);
echoEvent($strexe);
//╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╨╝ sh ╤Б╨║╤А╨╕╨┐╤В ╨╕╨╖ ╨║╨╛╨╝╨░╨╜╨┤╨╜╨╛╨╣ ╤Б╤В╤А╨╛╨║╨╕ linux
$proc = popen($strexe,'r');
//╨╝╨╛╨│╤Г╤В ╨▒╤Л╤В╤М ╨╛╨│╤А╨░╨╜╨╕╤З╨╡╨╜╨╕╤П php, ╨┐╨╛╤Н╤В╨╛╨╝╤Г ╨┤╨╛╤Б╤В╨░╤В╨╛╤З╨╜╨╛ ╨▓╤Л╨▓╨╡╤Б╤В╨╕ ╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В ╨╛╨║╨╛╨╜╤З╨░╨╜╨╕╤П ╨╝╨╕╨│╤А╨░╤Ж╨╕╨╕
while (!feof($proc)) {
echoEvent(fread($proc, 4096));
}
echoEvent("Finish!");
?>
рдореЗрд▓рдмреЙрдХреНрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ (startimapsync.sh) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ: рдХреНрд░рдорд╢рдГ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб, рд╕реНрд░реЛрдд рдФрд░ рдЧрдВрддрд╡реНрдп рдореЗрд▓рдмреЙрдХреНрд╕ рдХреЗ рдЖрдИрдореИрдк рд╕рд░реНрд╡рд░ред
#!/bin/bash
#╨┐╨╡╤А╨╡╤Е╨╛╨┤ ╨▓ ╨║╨░╤В╨░╨╗╨╛╨│ ╨╛╤В╨║╤Г╨┤╨░ ╨▒╤Л╨╗ ╨╖╨░╨┐╤Г╤Й╨╡╨╜ ╨┤╨░╨╜╨╜╤Л╨╣ ╤Б╨║╤А╨╕╨┐╤В
cd `dirname $0`
#╨╖╨░╨┐╤Г╤Б╨║ imapsync ╤Б ╨╜╤Г╨╢╨╜╤Л╨╝╨╕ ╨┐╨░╤А╨░╨╝╨╡╤В╤А╨░╨╝╨╕
/home/user/imapsync/./imapsync
#╤Б╨╡╤А╨▓╨╡╤А ╨╜╨░╤З╨░╨╗╤М╨╜╨╛╨│╨╛ ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░, ╨╗╨╛╨│╨╕╨╜, ╨┐╨░╤А╨╛╨╗╤М
--host1 $5:993 --user1 $1 --password1 $2
#╤Б╨╡╤А╨▓╨╡╤А ╨║╨╛╨╜╨╡╤З╨╜╨╛╨│╨╛ ╨┐╨╛╤З╤В╨╛╨▓╨╛╨│╨╛ ╤П╤Й╨╕╨║╨░, ╨╗╨╛╨│╨╕╨╜, ╨┐╨░╤А╨╛╨╗╤М
--host2 $6:993 --user2 $3 --password2 $4
#╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╤И╨╕╤Д╤А╨╛╨▓╨░╨╜╨╕╤П ╨┐╤А╨╕ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╕ ╨║ ╤Б╨╡╤А╨▓╨╡╤А╤Г
--ssl1 --ssl2
#╤Б╨╛╨┐╨╛╤Б╤В╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╨░╨┐╨╛╨║
--automap
#╨┐╨╡╤А╨▓╨╛╨╣ ╤Б╨╕╨╜╤Е╤А╨╛╨╜╨╕╨╖╨╕╤А╤Г╨╡╨╝ ╨┐╨░╨┐╨║╤Г ╨▓╤Е╨╛╨┤╤П╤Й╨╕╤Е
--folderfirst INBOX
#╤Б╨╛╨┐╨╛╤Б╤В╨░╨▓╨╗╨╡╨╜╨╕╨╡ ╨┐╨░╨┐╨╛╨║
--regextrans2 "s/&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-/Sent/"
--regextrans2 "s/&BBoEPgRABDcEOAQ9BDA-/Trash/"
--regextrans2 "s/&BCEEPwQwBDw-/Junk/"
--regextrans2 "s/&BCcENQRABD0EPgQyBDgEOgQ4-/Drafts/"
#╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╨╛ ╨┐╤А╨╕╨╜╨╕╨╝╨░╨╡╨╝ ╨╜╨╡ ╨┐╤А╨╛╤З╨╕╤В╨░╨╜╨╜╤Л╨╡ ╨┐╨╕╤Б╤М╨╝╨░ ╨▓╨╛ ╨Т╤Е╨╛╨┤╤П╤Й╨╕╤Е
--regexflag 's/\Unseen//g'
#╨б╤А╨░╨▓╨╜╨╡╨╜╨╕╨╡ ╨┐╨╛╨╗╤Г╤З╨╡╨╜╨╜╤Л╤Е ╨╕ ╨╛╤В╨┐╤А╨░╨▓╨╗╨╡╨╜╨╜╤Л╤Е ╨┐╨╕╤Б╨╡╨╝ ╨┐╨╛ ╨┐╨░╤А╨░╨╝╨╡╤В╤А╤Г ╨Ш╨┤╨╡╨╜╤В╨╕╤Д╨╕╨║╨░╤Ж╨╕╨╛╨╜╨╜╤Л╨╣ ╨╜╨╛╨╝╨╡╤А
--useheader Message-Id
рд╕реНрд░реЛрдд: www.habr.com
