CPU -->I7-3820
GPU -->2 x Nvidia680 GTX
OS --> Fedora
Bygga en epost migrering verktyg!
PHP har en curl-funktion, kan behöva slå på den i php.ini, men funkar fint:
[PHP/JS] Bygger en Email flytt
Jag har kört fast helt och hållet just nu.
Så jag vänder mig till er. Jag använder imapsync i backgrunden. så jag kallar på Imapsync med exec. sen har jag ett javascript som kollar logfilen efter raden där det står hurmånga mail det är kvar. sen skriver det ut det på sidan.
Så här ser min index.php ut.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<title>Inleeds Epostflytt</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="shortcut icon" href="favicon.ico"/>
<script src="js/jquery-3.1.1.js"></script>
</head>
<body>
<div class="container-fluid">
<div class="container">
<br>
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-6"><img src="logo.png" class="img-responsive center-block" alt="Responsive image"></div>
</div>
<br>
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8" ><p class="center-block text-center">Den här tjänsten kan du använda för att flytta alla dina email från den gamla servern till den nya mailservern som du använder! Andvänds på egen risk. Vi garanterar inte att alla emails flyttas. Så läs loggen efter så du ser om den misslyckades med något email</p></div>
</div>
<br>
<div class="row"> </div>
<?php
if(isset($_POST['val']))
{
?>
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-8" ><p id="done" class="center-block text-center"> Moving Email! I have <b id="demo">99999</b> left to move </p></div>
</div>
<br>
<div class="row"> </div>
<?php
$fserver = $_POST['fserver'];
$fuser = $_POST['fuser'];
$fpass = $_POST['fpass'];
$tserver = $_POST['tserver'];
$tuser = $_POST['tuser'];
$tpass = $_POST['tpass'];
$post = $_POST['val'];
function status($pid){
$command = 'ps -p '.$pid;
exec($command, $op);
if (!isset($op[1]))return false;
else return true;
}
if($post == "move")
{
?><script src="js/test.js"></script><?php
if ($kbk == 1){
exec('echo 1 > kor.txt');
$test = exec('imapsync \
--debugssl 0 \
--host1 '.escapeshellarg($fserver).' --tls1 --nolog\
--user1 '.escapeshellarg($fuser).' \
--password1 '.escapeshellarg($fpass).' \
--host2 '.escapeshellarg($tserver).' --tls2 \
--user2 '.escapeshellarg($tuser).' \
--password2 '.escapeshellarg($tpass).' \
--no-modulesversion > log/'.escapeshellarg($tuser).escapeshellarg($tserver).' & echo $! ', $retval);
}
}
elseif ($post == "log")
{
?> <a href="log/<?php echo $tuser.$tserver;?>">Här är din log fil</a> <?php
}
}
else
{
?>
<form class="form-horizontal" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" >
<div class="form-group">
<label for="inputFmailserver" class="col-xs-4 col-sm-4 control-label">Server</label>
<div class="col-xs-8 col-sm-5">
<input type="text" class="form-control" id="inputFmailserver" placeholder="ServerAddress" name="fserver">
</div>
</div>
<div class="form-group">
<label for="inputFemail" class="col-xs-4 col-sm-4 control-label">Användare</label>
<div class="col-xs-8 col-sm-5">
<input type="email" class="form-control" id="inputFemail" placeholder="User" name="fuser">
</div>
</div>
<div class="form-group">
<label for="inputFpass" class="col-xs-4 col-sm-4 control-label">Lösenord</label>
<div class="col-xs-8 col-sm-5">
<input type="password" class="form-control" id="inputFpass" placeholder="Password" name="fpass">
</div>
</div>
<div class="row">
<div class="col-xs-4 col-sm-3"></div>
<div class="col-xs-8 col-sm-6"><img src="img/arrow.png" class="img-responsive center-block" alt="Responsive image"></div>
</div> <br>
<div class="form-group">
<label for="inputTmailserver" class="col-xs-4 col-sm-4 control-label">Server</label>
<div class="col-xs-8 col-sm-5">
<input type="text" class="form-control" id="inputTmailserver" placeholder="ServerAddress" name="tserver">
</div>
</div>
<div class="form-group">
<label for="inputTemail" class="col-xs-4 col-sm-4 control-label">Användare</label>
<div class="col-xs-8 col-sm-5">
<input type="email" class="form-control" id="inputTemail" placeholder="User" name="tuser">
</div>
</div>
<div class="form-group">
<label for="inputTpass" class="col-xs-4 col-sm-4 control-label">Lösenord</label>
<div class="col-xs-8 col-sm-5">
<input type="password" class="form-control" id="inputTpass" placeholder="Password" name="tpass">
</div>
</div>
<div class="col-sm-offset-2 col-sm-8">
<p class="text-center">Det kan ta en stund! Så refresha inte sidan! Skulle du eventuelt tappa din internet connection så kör inte igen för att den flyttar i backgrunden tyvär kommer du inte få ut en log. </p>
</div>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<div class="contain">
<button name="val" type="submit" value="move" class="btn btn-default btn-left">Flytta Nu!</button>
<button name="val" type="submit" value="log" class="btn btn-default btn-right">hämta loggen</button>
</div>
</div>
</div>
</form></div>
</div>
<?php } ?>
</body>
</html>
var test ="msg INBOX/1 {18449} copied to INBOX/2367 9.59 msgs/s 195.998 KiB/s 3.073 MiB copied ETA: Fri Mar 10 17:31:23 2017 169 s 1623/1777 msgs left"
var arrayofspace= test.split(" ");
var arrayOfnumber = arrayofspace[38].split("/"); // arrayOfLines is array where every element is string of one line
var testing;
var tomte = 1;
var tomte1;
var tomte2 = [1];
var tomte3 = 1;
var test1213;
$(document).ready(function() {
test1213 = setInterval("ajaxd()",1000);
});
function ajaxd() {
$.ajax('log/test@example.com', {
dataType: 'text',
async: false,
cache: false,
success: function (data) {
testing = data.split("\n");
for(var i=0; i<testing.length; i++) {
msg = testing[i].indexOf("msg");
exit = testing[i].indexOf("Exiting");
if (msg == "0")
{
tomte = testing[i].split("s");
tomte1 = tomte[6].split(" ");
tomte2 = tomte1[2].split("/");
console.log(tomte2[0]);
document.getElementById("demo").innerHTML = tomte2[0];
}
if (exit == 0){
tomte3 = 0;
console.log(exit);
}
}
},
});
function stopInterval(){
clearInterval(test1213);
document.getElementById("done").innerHTML = "I am done! Go and Check your new mail";
}
if (tomte3 == 0){
clearInterval(test1213);
document.getElementById("done").innerHTML = "I am done! Go and Check your new mail";
}
}
då är min fråga hur ska jag göra. Jag har löst när den väl har klarat av allt så kör den exiting i log filen. Men Skirver man fel lösen så slutar bara imapsync utan att skicka ut något fel medelande. Så Det jag undrar hur jag ska göra för att medela javascriptet att sluta upp med loopen.
CPU -->I7-3820
GPU -->2 x Nvidia680 GTX
OS --> Fedora
@Sandia *Trådar sammanfogade*
Jag har sammanfogat dina trådar då vi ej tillåter korspostning (flera trådar om samma ämne). Det går alldeles utmärkt att fortsätta diskussionen i denna tråden.
§3.3 Det är inte tillåtet att skapa flera trådar om samma ämne (så kallad korspostning). Detta gäller oavsett om trådarna placeras i samma forumdel eller i olika forumdelar. Om en moderator har låst en tråd är det inte tillåtet att skapa en ny tråd om samma ämne. Regeln finns för att alla ska få samma chans att få sina trådar uppmärksammade och för att forumet ska bli så överskådligt som möjligt.
/moderator
Danskjävel så krattar som en skrivare...
@Sandia *Trådar sammanfogade*
Jag har sammanfogat dina trådar då vi ej tillåter korspostning (flera trådar om samma ämne). Det går alldeles utmärkt att fortsätta diskussionen i denna tråden.
/moderator
Förlåt hade glömt av att jag skapade den.
CPU -->I7-3820
GPU -->2 x Nvidia680 GTX
OS --> Fedora
- 17 / 5 27 år senare – Winamp får öppen källkod 42
- 17 / 5 Grafikprestanda i Ghost of Tsushima – en välpolerad PC-version 21
- 17 / 5 Microsoft: Byt till Bing om du vill reparera din dator 38
- 17 / 5 Grand Theft Auto VI släpps hösten 2025 42
- 16 / 5 IOS 17.5 återställer raderade bilder – även på nollställda enheter 54
- Wordle på svenska - ordlig.se
- Ny dator innebär att jag behöver sätta nya OBS inställningar för Twitch har ni förslag?
- Bra att ha scripts! [Powershell, Batch, Bash...]
- Hur ska man skriva i htaccess hos hosten Inleed för att domänen ska fortsätta visas istället för att ändras om när den går in på en annan domän?
- Home Assistant - Hur kommer man igång?
- Displayport 2.1 har ett kabelproblem38
- Wordle på svenska - ordlig.se7935
- Vad lyssnar du på just nu?13982
- Vilken film såg du senast?13441
- Uppgradera kass acer prebuilt3
- FAQ: Vattenkylning3098
- Ny dator innebär att jag behöver sätta nya OBS inställningar för Twitch har ni förslag?1
- Portabel AC inför sommaren [Samlingstråd]5014
- 27 år senare – Winamp får öppen källkod42
- Bra att ha scripts! [Powershell, Batch, Bash...]7
- Säljes Logitech g513 Carbon igx brown
- Säljes Nintendo Switch opatchat
- Säljes 4 st 16GB DDR5 Samsung.
- Säljes Stor UPS 9kw Emerson Liebert
- Säljes Acer Nitro XV252QF 360hz 1080p
- Säljes XFX Radeon RX 6950 XT Speedster MERC 319
- Säljes PNY GeForce RTX 2080 8GB XLR8 Gaming Overclocked Edition
- Säljes Google pixel 7a
- Köpes Egpu externt grafikkort
- Säljes Ryzen 9 3900x
- Asus lovar bot och bättring efter kritikstormen29
- Krönika: Jag borde börjat bygga datorer tidigare10
- Slack tränar AI på användarnas privata meddelanden24
- Helgsnack: Varför valde du ditt grafikkort?104
- Displayport 2.1 har ett kabelproblem38
- 27 år senare – Winamp får öppen källkod42
- Grafikprestanda i Ghost of Tsushima – en välpolerad PC-version21
- Microsoft: Byt till Bing om du vill reparera din dator38
- Nu är Twitter officiellt X.com40
- Var med och tyck till SweClockers mobilupplevelse!30
Externa nyheter
Spelnyheter från FZ
- PC Game Show firar 10 år och bjuder på kalas med över 70 avtäckningar igår
- The Witcher - Se första bilderna på Liam Hemsworth som Geralt igår
- Rykte: Nu är det bestämt att Call of Duty kommer läggas upp på Game Pass igår
- Vinn Battle Pass till Diablo IV:s loot-fyllda fjärde säsong! igår
- Men of War II 17/05