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
Synpunkter eller frågor gällande forumet, modereringen o.l.? Då kan du antingen pm:a mig eller kontakta oss via kontaktformuläret.
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
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 33
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 43
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
- 27 / 6 Afox släpper kompakt Geforce RTX 4090 36
- Igår Veckans fråga: Vilket operativsystem föredrar du? 72
- Igår Bilar med smarta inslag ger fler dumma fel 56
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 88
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- 26 / 6 Inet frågar SweClockers – Vad skulle du vilja förbättra på Inet.se? 53
- Trasig hårddisk, webhallen. Kan jag reklamera efter 2 år och 2 månader?11
- Börjar min router att dö?8
- Ert dyraste ” datormisstag”?401
- Ny dator och skärm ca 40 000kr6
- Komplett SweC-Bonanza 7 - Jul i Juli -edition - Diskussion97
- Fel post (dödsbo)7
- Dagens fynd — Diskussionstråden45403
- Får inte ut rätt hastighet5
- Vad har ni i lön?12143
- Vad lyssnar du på just nu?12613
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Säljes 1080 TI | Vattenblock | 1TB SSD | Apple Watch 4 Stainless | Hörlurar | Mikrofon
- Säljes Intressekoll: Xbox Series S 512Gb samt Switch Oled 64Gb Vit
- Säljes Gamingdator RTX 3090, i9-10900K, 32GB ram
- Säljes KFA2 RTX 3080 Ti SG Nytt i kartong
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"34
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare43
- Veckans fråga: Vilket operativsystem föredrar du?72
- Bilar med smarta inslag ger fler dumma fel56
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet70
- Starfield utvecklas med AMD:s välsignelse144
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"88
- En av tre svenskar använder annonsblockerare79
Externa nyheter
Spelnyheter från FZ
- Alan Wake och CoD: Kallt krig snart på PS Plus, enligt läcka idag
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster idag
- Fallout London flyttas för att slippa Starfield-konkurrensen idag
- Minecraft-filmen kan ha hittat sin Steve – Pedro "The Last of Us-Joel" Pascal idag
- Stor Diablo IV-patch släppt, mer XP och ombalanserade klasser idag