PHPMailer email lezen?
Nu vroeg ik mij af, kan ik ook met de phpmailer emails lezen?
Hun webmail adres om emails te lezen is: http://webmail.mijnhostingpartner.nl/ maar ik wil graag op mijn eigen site email's kunnen lezen..
Alvast bedankt voor de info.
Nee, daarvoor moet je de imap_*() functies gebruiken. Die werken overigens ook voor POP-mailboxen.
imap() kan dat ook met SMTP server's?
SMTP is zenden, IMAP en POP is lezen.
Gewijzigd op 24/12/2011 08:23:07 door Dennis Smink
En vraag ze eens waarom ze dat anders niet aan kunnen zetten.
De meeste webhostings hebben imap() wel open staan.
Zend_Mail is overigens een mooi deel om de IMAP functies heen waarmee je mailboxen uit kan lezen :)
Door een eigen ervaring met mijnhostingpartners wil ik je waarschuwen voor het geen wat je wilt. Zoals Aar aangeeft vraag hostingpartners of hun dit open willen zetten eventueel tegen kleine vergoeding. Willen ze dat niet, ga dan niet lopen stoeien met scripts en dat zoort dingen om het wel voor elkaar te krijgen.
Zodra je hun verzoekt om iets te doen en het antwoord is nee. Dan krijg je een notitie achter je naam. Dit is niet zo erg, alleen hun houden je dan net ff iets beter in de gaten. Want wij nederlanders zijn zo ingesteld krijg ik geen medewerking proberen we het op een andere manier.
Zien hun dat je het gevraagt op een andere manier doet dan de normale manier, dan trappen ze je zonder pordon en zonder enige voor waarschuwing de laan uit. Je krijgt geen backups van de db's mails en noem maar op.
Dit uit eigen ervaring waar ik ook zo eigenwijs was om mijn plannen te willen uitvoeren en nadien gelukt binnen 10 dagen opstraat stonden zonder hosting en noem maar op. En enige medewerking in het verhuizen van domijnnaam was de respons ook vrij 0,0.
Tot zover even mijn waarschuwing in deze.
Gewijzigd op 23/12/2011 22:53:03 door Frank WD
Wel wil ik ingaan op Frank van Sloten:
Ik had dus een ticket aangemaakt, als volgt:
Hallo,
Ik vroeg mij af, omdat mijnhostingpartner.nl gebruikers zich inloggen op webmail.mijnhostingpartner.nl er ook een mogelijkheid is om webmail op je eigen hosting te laden.
Dus gewoon een script, die kan inloggen op webmail.mijnhostingpartner.nl. Het versturen met phpmailer gaat prima, maar kan je er ook berichten mee lezen? ( In je eigen site dan )
Zoniet, is het uberhaupt mogelijk, of een script van beschikbaar?
Met vriendelijke groet,
Dennis Smink
Kreeg ik dit terug van de support:
Beste Dennis,
Via onze webmail is het niet mogelijk deze in te laden in uw eigen website. Voor onze reseller pakketten kunnen wij een subdomein aan uw domein koppelen waar de webmail in geladen kan worden.
Als u goed met PHP of ASP.NET overweg kan, dan is het mogelijk iets te maken wat mail kan lezen. Dit soort scripts zijn vrij geavanceerd en dus niet zomaar beschikbaar.
Met vriendelijke groet,
Jaap
Ikke weer terug gereageerd:
Ik begrijp dat dit met imap_open() mogelijk moet zijn?
Hun weer:
Dennis,
Je kan via je website geen connectie maken met de mailservers om je eigen webmail te draaien.
Met vriendelijke groet,
Bas
Ik ben verward?
En wat jaap zegt is ook wel vaag. zulke scripts zijn niet lastig te vinden.
fsockopen + "read mail" en je hebt al iets. Hoewel imap handiger blijft.
Waar het de imap functie dan al geprobeerd?
Gewijzigd op 24/12/2011 08:57:56 door - Ariën -
Khad inderdaad met fsock al een goed begin, maar toch maar iets meer verdiept in imap, en dit werkte gewoon vlekkenloos. Dus ik ga dit denk ik maar gewoon gebruiken, ik heb niet gevraagd of die functie aan mocht ofzo, het werkte gewoon.
Dus ik denk eigenlijk niet zo zeer snel dat ik er problemen mee kan krijgen...
Toevoeging op 24/12/2011 09:12:47:
Heeft iemand enig idee hoe ik het beste de emails kan sorteren op datum? Ik ben bezig met imap_sort maar krijg er geen fatsoenlijke werking uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$message_count = imap_num_msg($imap);
$sorted = imap_sort($imap, SORTARRIVAL, 0);
for ($i = 1; $i < count( $sorted ); ++$i) {
$header = imap_header($imap, $sorted[$i]);
$subject = $header->subject;
$body = trim(substr(imap_body($imap, $i), 0, 100));
$prettydate = date("Y-m-d H:i:s", $header->udate);
if (isset($header->from[0]->personal)) {
$personal = $header->from[0]->personal;
} else {
$personal = $header->from[0]->mailbox;
}
$berichtNummer = str_replace(" ", "", $header->Msgno);
//$email = "$personal <{$header->from[0]->mailbox}@{$header->from[0]->host}>";
echo "<div onclick=\"requestPage('adm=webmail&readMail=". $berichtNummer. "')\" style=\"width: 600px; height: 35px; background-color: #EEEEEE; border: 1px solid #000; margin-bottom: 2px;\" onMouseOver=\"this.style.backgroundColor='#AAAAAA';\" onMouseOut=\"this.style.backgroundColor='#EEEEEE'\">
". $personal ."<span style=\"float:right;\">". TimeToString($prettydate). "</span><br /> ". $subject."</div>";
//echo $header->Msgno."<br />";
}
?>
$message_count = imap_num_msg($imap);
$sorted = imap_sort($imap, SORTARRIVAL, 0);
for ($i = 1; $i < count( $sorted ); ++$i) {
$header = imap_header($imap, $sorted[$i]);
$subject = $header->subject;
$body = trim(substr(imap_body($imap, $i), 0, 100));
$prettydate = date("Y-m-d H:i:s", $header->udate);
if (isset($header->from[0]->personal)) {
$personal = $header->from[0]->personal;
} else {
$personal = $header->from[0]->mailbox;
}
$berichtNummer = str_replace(" ", "", $header->Msgno);
//$email = "$personal <{$header->from[0]->mailbox}@{$header->from[0]->host}>";
echo "<div onclick=\"requestPage('adm=webmail&readMail=". $berichtNummer. "')\" style=\"width: 600px; height: 35px; background-color: #EEEEEE; border: 1px solid #000; margin-bottom: 2px;\" onMouseOver=\"this.style.backgroundColor='#AAAAAA';\" onMouseOut=\"this.style.backgroundColor='#EEEEEE'\">
". $personal ."<span style=\"float:right;\">". TimeToString($prettydate). "</span><br /> ". $subject."</div>";
//echo $header->Msgno."<br />";
}
?>
Je doet er idd goed aan om bij hun te mailen en vooral VEEL temailen.
Je hebt bij Mijnhostingpartners.nl nu net de 2 medewerkers gehad, die bij mij altijd de indruk wekte van: Zeur op, laat me met rust en anders zoek andere hosting.
Ik heb vele problemen in verleden gehad met die Bas. Laten we maar over Jaap me mond dicht houden, want voor hem heb ik al helemaal geen goed woord over.
Des al niet temin, hoop ik voor Dennis dat hij het aan de praat krijgt met wat hij wil. Maar hou jou hosting in de gaten.
Edit:
Het lijkt dat ik mijnhostingpartners.nl afkraak. Dit is niet zo. Ik kraak alleen de support af. De rest kwa bereikbaarheid en up-to-running was altijd goed na wens bij hun.
Ondertussen heb ik wat ik wil werkend met imap_open(). Had nog nooit gewerkt hiermee maar begrijp het nu, en laat die support maar even achterwegen.
Zat eerder bij starthosting, maar die waren zo ongelovelijk traag dat ik overgestapt ben naar mijnhostingpartner.
Bedankt voor de info Frank!
het klinkt alsof ze geen ervaring daar hebben bij Mijn Hostingpartner, en maar wat uit de lucht lopen te blaten.
Gewijzigd op 24/12/2011 11:42:49 door - Ariën -
Geen dank hoor. Als ik iemand kan helpen met enige info in welke vorm ook zal ik dat zekers doen. Als je nog een andere hosting zoekt kan ik Mijn.domijn.nl aanraden.
Wel is waar geen tel support ma wel altijd correct in mail support.
Aar,
Enige wat ik op je laatste bericht kan melden is.
Helemaal gelijk in.
Ik gebruik nu deze functie om de headers goed te zetten in de email: http://pastebin.com/HpXBP6Eu
Daarna gebruik ik dit om de functie aan te roepen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$dataTxt = get_part($imap, $berichtnummer, "TEXT/PLAIN");
// GET HTML BODY
$dataHtml = get_part($imap, $berichtnummer, "TEXT/HTML");
if ($dataHtml != "") {
$msgBody = $dataHtml;
$mailformat = "html";
}else{
$msgBody = preg_replace("\n","<br>",$dataTxt);
$mailformat = "text";
}
?>
$dataTxt = get_part($imap, $berichtnummer, "TEXT/PLAIN");
// GET HTML BODY
$dataHtml = get_part($imap, $berichtnummer, "TEXT/HTML");
if ($dataHtml != "") {
$msgBody = $dataHtml;
$mailformat = "html";
}else{
$msgBody = preg_replace("\n","<br>",$dataTxt);
$mailformat = "text";
}
?>
En vervolgens echo ik de $msgBody variable.
Nu krijg ik alleen van die rare tekens als zon vierkantje, hier aangegeven als vraagteken.
?
na de enter.
Dus als je bijv een zin hebt als dit krijg je dus met zon vierkant:
Hallo PHPHulp,
?
Alvast bedankt voor de medewerking.
?
Groet,
?
Dennis
Wat gaat hier fout?
Toevoeging op 24/12/2011 18:16:24:
Vierkantje ziet er zo uit: http://pastebin.com/ca3k8mHB
Gewijzigd op 24/12/2011 18:16:00 door Dennis Smink
succes!
Ik kan emails, lezen, verwijderen, van map verhuizen alles.
Ik kan alleen geen emails verzenden op een of andere manier.
Mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$mbox = imap_open ("{smtp.mijnhostingpartner.nl:143}INBOX",
"user", "pass") or die('connection failed '.imap_last_error());
$to='[email protected]';
$siteemail='[email protected]';
$subject = "This is subject";
$headers .= "From: $siteemail<$siteemail>\n";
$headers .= "X-Sender: <$siteemail>\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 1\n";
$headers .= "Return-Path: <$siteemail>\n";
$message = "This is the text.";
if( $mbox ){
echo "Verbonden met mailserver.<br />";
if(!imap_mail ($to, $subject, $message , $headers)){
echo "niet gelukt, error: <br />";
echo imap_alerts();
}
}
imap_close($mbox);
?>
$mbox = imap_open ("{smtp.mijnhostingpartner.nl:143}INBOX",
"user", "pass") or die('connection failed '.imap_last_error());
$to='[email protected]';
$siteemail='[email protected]';
$subject = "This is subject";
$headers .= "From: $siteemail<$siteemail>\n";
$headers .= "X-Sender: <$siteemail>\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 1\n";
$headers .= "Return-Path: <$siteemail>\n";
$message = "This is the text.";
if( $mbox ){
echo "Verbonden met mailserver.<br />";
if(!imap_mail ($to, $subject, $message , $headers)){
echo "niet gelukt, error: <br />";
echo imap_alerts();
}
}
imap_close($mbox);
?>
Ik krijg geen error terug, ook niet met imap_errors().
Met mail() werkt het wel, alleen komt de verzonden email niet in verzonden items terecht in mijn mailbox, is er een manier om hier omheen te komen?
Gewijzigd op 11/01/2012 19:52:32 door Dennis Smink
Jesse
Gelieve de oplossingen dus hier op het forum te plaatsen en niet via een pb.
Mocht je een PB hebben gestuurd met een ander onderwerp is het natuurlijk onnodig om dat hier te melden. Dennis ziet de PB vanzelf wel.
Tevens is dit topic al een beetje oud...