Gå til innhold

Curl php og webmail.ntnu.no


Anbefalte innlegg

Jeg tenkte jeg skulle få henta ut eposten på min ntnu epost konto. Har fått meg med at curl er det man bruker til sånt, jeg tenkte at det kunne vel ikke være så vanskelig, men det var det.

 

Jeg får ikke curl til å logge seg inn en gang og jeg er ikke i nærheten av å få taki noe epost.

 

Har googla litt og titta på en del, men blir ikke stort klokere. Så jeg lurer på om noen kan forklare meg litt curl. Hva skal jeg bruke til å gjøre hva osv. Hvordan sender jeg data til forms? Kan jeg i det hele tatt bruke forms eller må jeg sende det rett som postdata?

 

PS: Siden jeg skal logge meg inn på webmail.ntnu.no

Lenke til kommentar
Videoannonse
Annonse

Nå kan jeg faktisk ikke huske å ha brukt IMAP i PHP før, men ja, du bruker imap_open for å koble til. Etter litt rask blaing i manualen bruker du imap_fetch_overview for å få ut alle meldinger i gjeldende mappe. Dette vil deriblant gi en ID til hver enkelt du dermed kan gi imap_fetchbody o.l. for å hente ut selve meldingen.

Lenke til kommentar

<?php 
$mailbox = "{imap.stud.ntnu.no:143/pop3}INBOX";
$user = "*****@stud.ntnu.no"; 
$pass = "*****"; 

$MC = imap_open($mailbox,$user,$pass) or die("can't connect: " . imap_last_error());
?>

 

Gir meg feil meldingen:

Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.stud.ntnu.no:143/pop3}INBOX in C:\PHP\htdocs\imap.php on line 7

can't connect: OK stump.itea.ntnu.no Cyrus IMAP4 Murder v2.2.13 server ready

 

Er ikke den en ganske rar feil melding? Den sier jo først at noe er feil og så sier den at feil meldingen er at alt er ok.

Lenke til kommentar

hei, husket at jeg drev med en php imap class for et par år siden. Jeg tror jeg gjorde litt mer men klarer ikke å finne nyeste versjonen av det men her har du noe jeg har gjort, tenker det kan komme til hjelp for deg. Jeg testet og det fungerte.

 

<?php

/*****************************
*	OXODesign TEAM
*	Web: www.oxo-design.net
*	Email: [email protected]
*	Class: cl_IMAP
***************************** */

class cl_imap{
var $imap_host; // Imap host
var $imap_user; // User [email protected]
var $imap_password; // Password
var $imap_conn; // Stream 
var $imap_headers; // Headers
var $imap_message; // Message

function f_connect ($f_host, $f_user, $f_password){
	// Make allowed hostname
	$this->imap_host = "{" . $f_host . ":143}"; 
	$this->imap_user = $f_user;
	$this->imap_password = $f_password;
	// Open connection
	$this->imap_conn = imap_open($this->imap_host, $this->imap_user, $this->imap_password);

	// If it failds get error!
	if (!$this->imap_conn){
		echo "Feild!";
		$err = imap_errors();
		foreach ($err as $val){
			echo "$val <br>";
		}
	}

}

function f_mailbox (){
	$mailbox_list = imap_listmailbox($this->imap_conn, $this->imap_host, "*");

	if (!$mailbox_list)
		echo "Feild to open mailbox list";

	foreach ($mailbox_list as $val){
		echo "$val <br>";
	}
}

function f_headers(){
	$this->imap_headers = imap_headers($this->imap_conn);

	if (!$this->imap_headers)
		echo "Headers feild";

	foreach ($this->imap_headers as $val){
		echo "$val <br>";
	}
}

function f_get_message ($f_body_id){

	$this->imap_message = array();

	// Return header of msg id
	$header = imap_header($this->imap_conn, $f_body_id);
	// Return true if multipart msg or false if not
	$header_struc = imap_fetchstructure($this->imap_conn, $f_body_id);


	$this->imap_message['subject'] = $header->subject; // Return subject (string)
	$this->imap_message['fromname'] = $header->fromaddress; // Return from (name) (string)
	$this->imap_message['fromadr'] = $header->from[0]->mailbox . "@" . $header->from[0]->host; // Return from email adress (string)
	$this->imap_message['toadr'] = $header->toaddress; // Return to address (string)
	$this->imap_message['ccadr'] = $header->ccaddress; // Return cc address (string)
	$this->imap_message['date'] = $header->date; // Return date

	// Check the structure and return body
	if ($this->f_check_struc($header_struc)){
		$this->imap_message['body'] = imap_fetchbody($this->imap_conn, $f_body_id, "1");
	}else{
		$this->imap_message['body'] = imap_body($this->imap_conn, $f_body_id);
	}


	echo "--------------- From ----------------<br>";
	echo $this->imap_message['fromname'] . "<b> >>> </b>" . $this->imap_message['fromadr'] . "<br>";
	echo "--------------- To ----------------<br>";
	echo $this->imap_message['toadr'] . "<br>";
	echo "--------------- Subject ----------------<br>";
	echo $this->imap_message['subject'] . "<br>";
	echo "--------------- BODY ----------------<br>";
	echo $this->imap_message['body'];

}

function f_check_struc ($f_struc){
	if ($f_struc->type == 1)
		return true; // Multipart msg
	else
		return false; // Not a multipart msg
}
}
/**
* How to use
*/
$imap = new cl_imap; // New imap class
$imap->f_connect("imap.domene.no","[email protected]","*****"); // Connect to imap server
$imap->f_mailbox(); // Get mail-folders
$imap->f_headers(); // Get headers
$imap->f_get_message(1); // Get msg from msg id
?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...