Ir para conteúdo

POWERED BY:

Arquivado

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

Gregor Kafka

acessar conta de email com PHP

Recommended Posts

pessoal, boa noite a todos..

 

eu estou com um problema meio complicado e chato... eu estou lendo um caminhão de coisas para tentar achar a solução, mais percebi que só está me confundindo mais e mais.

o que rola é o seguinte:

 

o site que eu estou desenvolvendo, tem cadastro de usuários e tudo mais.

sendo que eu queria embutir serviço de email no site. ou seja, eu queria criar uma conta de email tipo ( login do usuário + @nomedosite.com.br )quando o cara se cadastrasse... na parte em que ele lê as mensagens internas do site, eu queria mostrar também as mensagens da caixa de entrada e saída do usuário...

alguém sabe como eu posso acessar tais informações?

eu uso o Cpanel para administrar o site... vocês acham que por não ser um servidor dedicado ou próprio, eu consigo tratar emails desse jeito?

que informações eu preciso obter do servidor para fazer tal conexão?

 

desde já, muito obrigado para todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a extensão IMAP do PHP serve para isso. Há alguns webmails prontos por aí, mas nenhum é tão bom quanto o do Google. Recomendo usar o Google Apps. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

a extensão IMAP do PHP serve para isso. Há alguns webmails prontos por aí, mas nenhum é tão bom quanto o do Google. Recomendo usar o Google Apps. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

beraldo, mais como faço para fazer essa conexão com o imap?

o que rpeciso solicitar ao responsavel pelo servidor, ou achar no proprio Cpanel, para fazer essa conexão?

 

agradeço pela ajuda

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas precisa ter a extensão IMAP, do PHP, carregada:

http://www.php.net/imap

 

Beraldo, dei uma lida na documentação que você me passou, e cheguei a esse script

 


<?php

/* Fabyo Guimaraes
data = 06/02/2005*/

$servidor = "kafka.com.br";
$conta = "kafka.com.br";
$usuario = "franz";
$senha = "kafka";

@ini_set('display_errors', '0');
$mbox = imap_open("{mail.$servidor:110/imap}", $usuario . "@" . $servidor, $senha);
$erro[] = imap_last_error();
// testo se tem email no servidor
if ($erro[0] == "Mailbox is empty") {
echo "não tem nenhuma mensagem";
exit;
}
// verifico se esta certo o usuario e senha
elseif ($erro[0] == "POP3 connection broken in response") {
echo "Usuario ou a senha estao errados";
exit;
}
// testo se o servidor esta certo
elseif ($erro[0] == "Host not found (#11004): pop3.$servidor") {
echo "O servidor $servidor esta errado";
exit;
}
// se a $erro estiver vazia ele continua
if ($erro[0] == "") {
$numero_mensagens = imap_num_msg($mbox);
$numero_mens_nao_lidas = imap_num_recent($mbox);

if ($numero_mensagens == 1) {
echo "você tem $numero_mensagens mensagem";
} else {
echo "você tem $numero_mensagens mensagens";
}

echo "<br><br>";

for($i = 1;$i <= imap_num_msg($mbox);$i++) {

$headers = imap_header($mbox, $i);
$assunto = $headers->subject;
$message_id = $headers->message_id;
$toaddress = $headers->toaddress;
$to = $headers->to;
$remetente = $to[0]->personal;
$email_remetente = $to[0]->mailbox;
$servidor_remetente = $to[0]->host;
$data = $headers->date;
$data = strtotime($data);
$data = date("d/m/Y H:i:s", $data);

echo "Id da mensagem: $message_id <BR> Remetente = $email_remetente@$servidor_remetente <br> Para = $usuario@$servidor <br> Data = $data <br> Assunto = $assunto <br> <a href=\"imap.php?id=$i\">Ler Mensagem</a><br><br>";
}

echo "<br>";
if (isset($_GET["id"]))

{
$id = $_GET["id"];

$mensagem = imap_fetchbody($mbox, $id, 1);
echo nl2br(quoted_printable_decode($mensagem));
}

imap_close($mbox);
}

?> 

ping

<?php

$imap = imap_open("{mail.kafka.com.br}", "franz@kafka.com.br", "kafka");

// after some sleeping
if (!imap_ping($imap)) {
   echo"deu ruim";
exit;
}

?>

sendo que ele não funciona.. o primeiro php, era pra exibir a caixa do usuário, mais não aparece nada... ai achei um código que dá um ping no imap do servidor, mais tb não funfou...

 

no Cpanel, achei esses dados para cofniguração de e-mail

 

Configuração Manual

Usuário do Servidor de Correio: kafka

Servidor de Correio de Entrada: mail.kafka.com.br

Servidor de Correio de Entrada: (SSL) mail.root

Servidor de Saída: mail.mondoo.com.br (servidor requer autenticação) port 26

Servidor de Saída: (SSL) mail.root (servidor requer autenticação) port 465

Protocolos de Correio Entrada Suportados: POP3, POP3S (SSL/TLS), IMAP, IMAPS (SSL/TLS)

Protocolos de Saída Suportados: SMTP, SMTPS (SSL/TLS)

 

você sabe se eu estou usando algum endereço errado?

a conta kafka@kafka.com.br, existe e a senha informada no script está correta =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendo muito de imap, além de ser um negócio bem chato. Por isso citei o Google Apps (melhor anti-spam do mundo, por exemplo)

 

Mas tente deixar display_error em 1 nesse script e ver qual erro aparece

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai o erro...

 

Warning: imap_open() [function.imap-open]: Couldn't open stream {mail.kafka.com.br:2095/} in /home/franz/public_html/modules/Lab/email/sample.php on line 12
ping
Warning: imap_open() [function.imap-open]: Couldn't open stream {mail.kafka.com.br} in /home/franz/public_html/modules/Lab/email/sample.php on line 78

cofesso que não entendi o porque do erro de steam, se na configuração de e-mails aparece esse endereço.

 

alguma ideai do que possa ser?

 

e em relação ao app do google... eu estou querendo resolver essa questão para usa-la no meu projeto,mais também para estudo.. ^^

e também é bom que a solução fica ai pra futuras pesquisas dos colegas :D

 

qualquer ajuda é bem vinda

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente definir qual direório que abrir, por exemplo, INBOX, como no exemplo abaixo:

http://davidwalsh.name/gmail-php-imap

 

E tente usar imap_last_error() para ver se essa função mostra mais algum detalhe do erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

beraldo, eu fui naquele site que você me passou(ótimo por sinal), e vi que estava parecido com o script do fabyo que eu estava usando, mudando só a porta que ele usa pra acessar o gmail.

 

resolvi copiar e colar o script dele, e rodar no meu servidor.. teoricamente teria que funfar, porque no servidor dele roda.

 

me retornou esse erro:

Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl}INBOX in /home/anderson/public_html/modules/Lab/email/sample.php on line 8

Cannot connect to Gmail: Certificate failure for imap.gmail.com: unable to get local issuer certificate: /C=US/O=Google Inc/CN=Google Internet Authority

no segundo erro, acho que foi barrado pelo google

mais no primeiro, ele dá erro de steam também... será que ou o meu servidor não está com o imap ativado, ou é bloqueado, ou o problema está na porta que eu estou usando pra tentar acessar o imap?

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.