Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
o.otipo fabyo, o quarto parametro da funcao imap_mail é $headers nao pode usar elas para enviar email usando html? :S[]'s
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.
nao porque se você receber você ate recebe mas vem tudo codificado você precisa descodificar
Bem interessantevalew
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!!
Só lembre-se que para enviar e receber em formato html, você precisa mecher com MIME como é muito complexo tem uma classe da PEAR que faz isso = )