IMAPSync ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಸರ್ವರ್‌ಗಳ ನಡುವೆ ಮೇಲ್ ಅನ್ನು ವರ್ಗಾಯಿಸಿ

ಪ್ರಾಚೀನ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ IMAPSync ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ವಿವಿಧ ಸರ್ವರ್‌ಗಳ ನಡುವೆ ಮೇಲ್ ಅನ್ನು ಹೇಗೆ ವರ್ಗಾಯಿಸುವುದು ಎಂಬುದನ್ನು ಈ ಲೇಖನವು ನೋಡುತ್ತದೆ.

ಗಮ್ಯಸ್ಥಾನ ಸರ್ವರ್‌ನಲ್ಲಿ ನೀವು ಅಗತ್ಯವಿರುವ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ಬಾಕ್ಸ್ ಹೊಂದಿರಬೇಕು. Imapsync ಅನ್ನು ಬಳಸುವ ಮೊದಲು, ನೀವು ಅದನ್ನು ಸ್ಥಾಪಿಸಬೇಕು (https://imapsync.lamiral.info/#install).

ಸಂಸ್ಥೆಯು ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಉದ್ಯೋಗಿ ಇಮೇಲ್ ಪಾಸ್‌ವರ್ಡ್‌ಗಳ ಬಳಕೆಯನ್ನು ನಿಷೇಧಿಸಿರುವುದರಿಂದ, ವಲಸೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಬಳಕೆದಾರರಿಗೆ ವಹಿಸಲಾಗಿದೆ. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ವೆಬ್-ಆಧಾರಿತ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಇದು ಫಾರ್ಮ್ ಮಾಡ್ಯೂಲ್ (gis.html) ಮತ್ತು ಇಮ್ಯಾಪ್‌ಸಿಂಕ್ ಸ್ಕ್ರಿಪ್ಟ್ ಲಾಂಚರ್ ಮಾಡ್ಯೂಲ್ (gis.php) ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಭರ್ತಿ ಮಾಡುವುದು ಸರ್ವರ್ಗಳು ಮೇಲ್‌ಬಾಕ್ಸ್ ಹೆಸರಿನ ಕ್ಷೇತ್ರದ ವಿಷಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮೂಲಕ IMAP ಅನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬಹುದು. ಈ ಸಮಸ್ಯೆಯ ವಿವರವಾದ, ಸುಸಂಬದ್ಧ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಾನು ಕಂಡುಹಿಡಿಯಲಾಗದ ಕಾರಣ, Fetchmail ಅನ್ನು ರೌಂಡ್‌ಕ್ಯೂಬ್ ಪ್ಲಗಿನ್ ಆಗಿ ಬಳಸುವುದನ್ನು ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ.

ವೆಬ್ ಇಂಟರ್‌ಫೇಸ್ ಮೇಲ್‌ಬಾಕ್ಸ್‌ಗಳು, ಕಾರ್ಯಾಚರಣೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಔಟ್‌ಪುಟ್ ಪ್ರದೇಶ ಮತ್ತು ನಿಯಂತ್ರಣ ಬಟನ್‌ಗಳ (gis.html) ಕುರಿತು ಮಾಹಿತಿಯೊಂದಿಗೆ ಕ್ಷೇತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

IMAPSync ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಮೂಲಕ ಸರ್ವರ್‌ಗಳ ನಡುವೆ ಮೇಲ್ ಅನ್ನು ವರ್ಗಾಯಿಸಿ

<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) ಆಜ್ಞಾ ಸಾಲಿನ ನಿಯತಾಂಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ: ಲಾಗಿನ್‌ಗಳು ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಮೂಲ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನದ ಮೇಲ್‌ಬಾಕ್ಸ್‌ಗಳ imap ಸರ್ವರ್‌ಗಳು.

#!/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

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster