Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

red neck *

brincando com imap

Recommended Posts

opa !tava lendo um post de como criar um sistema da enviar/receber emails, ai resolvi dar uma mexida com imap so para aprender mesmo ^^bom vo posta uns exemplinhos simples para enviar/receber emailsem primeiro lugar vamos instalar:

abra o php.iniprocure a linha: ";extension=php_imap.dll"troque ela por:extension=php_imap.dll apenas descomente ela e reinicie o servidor

ai ela ja esta rodando ! ^^para enviar email é extremamente facil, como eu estou testando localmente eu estou usando ini_set() para usar o smtp da uol :rolleyes: ^^

<?ini_set("SMTP","smtp.uol.com.br");$para    = "blablabla@blablabl.com"; // destino$assunto = "testeee"; // asunto$msg      = "dwadwad\ndwdwadw"; // mensagem, tipo $_POST["msg"];if(imap_mail($para, $assunto , $msg)){ /* tem mais parametros essa funcao, mais estamos usando apenas esse para testes mesmo; */echo "email enviado com sucesso !";}else{echo "falha ao enviar email =[";}?>

como podem ver é extremante simples o esquema para enviar email usando imap praticamente a mesma coisa que a funcao mail() do php, porem com mais funcoes ^^

<?$mailbox = imap_open("{pop3.bol.com.br:110/pop3}INBOX","testing2005@bol.com.br","123456"); //conexao com o servidorif(imap_num_msg($mailbox) > 0){ // retorna o numero de mensagens// se o numero de mensagens for maior que zeroecho "<pre>";echo imap_fetchbody($mailbox, 1, "0"); // imprime o corpo da mensagem// o 1 é o id da mensagem, para exibir todas as mensagens voce poderia botar isso dentro dum loop e trocar o 1 por $i ^^imap_close($mailbox); // fecha  conexao}else{// se o numero de mensagens for igual a zero exibe Não há msgs;echo "Não há msgs;";}?>

eu fiz usando o bol, postei login e senha porque eu criei apenas para testar mesmo, é capaz que mude o nome das variaveis de servidor para servidor (nao sei), mais isso dai so sera usado nas funcoes imap_check e imap_headerspara ler mais sobre imaphttp://br.php.net/manual/pt_BR/ref.imap.phpespero ter ajudado ^^[]'sps: detalhe importante, para explicar o ultimo parametro da funcao fetchbody, vou postar um trecho dum post do se@designlinks.net no php.net

If you insist on using imap_fetchbody() to retrieve a mail body that doesn't contain 'parts' [normally you'd use imap_body() ], then note that the header text is in part '0' and the body text in part '1'.So, imap_fetchbody($mbox,$msg,'0') will return the header and imap_fetchbody($mbox,$msg,'1') will return the body text.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o.otipo fabyo, o quarto parametro da funcao imap_mail é $headers nao pode usar elas para enviar email usando html? :S[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, legal o exemplo que você fez!Sabe como eu leio um anexo? Eu sei como pegar o nome do anexo, mas como abri-lo, com fopen() por exemplo? Tenho que passar o caminho completo do arquivo no servidor, né? Como fazer isso? Alguém sabe me dizer.Grato,Renato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só pessoal, to com uma duvida lazarenta!!!!bem, antes de mais nada vou mostrat meu código!

   $ServerName = "{pop3.bol.com.br:110/pop3}"; // For a POP3 connection    (PORT 110)      $UserName = "thiagofesta@bol.com.br";   $PassWord = "123456";$mailbox = imap_open($ServerName, $UserName,$PassWord) or die("Erro ao conectar"); //conexao com o servidorif(imap_num_msg($mailbox) > 0){ // retorna o numero de mensagens// se o numero de mensagens for maior que zeroecho "<pre>";echo imap_fetchbody($mailbox, 1, "0"); // imprime o corpo da mensagem// o 1 é o id da mensagem, para exibir todas as mensagens voce poderia botar isso dentro dum loop e trocar o 1 por $i ^^imap_close($mailbox); // fecha  conexao}else{// se o numero de mensagens for igual a zero exibe Não há msgs;echo "Não há msgs;";}

Certo, então, ele mostra ai 1 msgm, a mais antiga, certo, depois que eu vejo ela, ela some da minha caixa de entrada, some de tudo, ou seja, é excluida...alguem sabe me dizer o motivo disso??e outra coisa, gostaria de também poder ler o que tem na mensagem não somente de quem, para quem, o nome da msgm, gostaria do corpo da msgm, e além disso que aparecesse o anexo, só que eu andei lendo, e dizem que o anexo ele é criptografado e tal, complicado de descriptografar, se alguem puder me ajudar, qualquer coisa vai ser util!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.