softklin Posted November 3, 2007 at 02:48 PM Report Share #144903 Posted November 3, 2007 at 02:48 PM Boas! É o seguinte, eu gostava de enviar mails a partir do meu PC através de PHP, mas estou a ver que a tarefa está complicada, porque não consegui enviar para o meu endereço no hotmail, e no endereço do GMail, marcou a mensagem como spam... 😕 Bem, então o que pretendia era usar a minha conta do gmail para enviar o mail, mas com o PHP... Há alguma forma de contornar este problema? Em última nota, eu pretendo mesmo enviar o mail a partir da minha máquina. Obrigado desde já 😉 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 3, 2007 at 03:02 PM Report Share #144907 Posted November 3, 2007 at 03:02 PM Qui tens http://phpmailer.sourceforge.net/ Autentica-te no servidor de smtp com a tua conta do gmail e já está. Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 04:09 PM Author Report Share #144928 Posted November 3, 2007 at 04:09 PM Obrigado pela respota, pedrotuga. Porém, experimentei o seguinte código, mas não consegui por a funcionar: <?php require("class.phpmailer.php"); $mail = new phpmailer(); $mail->From = "xxx@hotmail.com"; $mail->FromName = "Eu"; $mail->Subject = "msg de teste"; //dados de smtp $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPAuth = true; $mail->Username = "<nome do gmail>"; $mail->Password = "<pass do gmail>"; $mail->Host = "smtp.gmail.com"; $mail->Port = 587; //dados envio $mail->AddAddress("xxx@hotmail.com","Andre Silva"); $mail->AddAddress("xxx@gmail.com","Andre Silva"); $mail->Mailer = "smtp"; //envia o mail if(!$mail->Send()) { echo "There was an error sending the message"; exit; } echo "Message was sent successfully"; ?> Sabes se falta alguma coisa ou assim, dá-me o erro do "There was an error..." Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 3, 2007 at 04:38 PM Report Share #144934 Posted November 3, 2007 at 04:38 PM atenção que o username é o email completo Ja deves ter visitado est pagina, mas aqui fica de qualquer das formas http://mail.google.com/support/bin/answer.py?hl=en&answer=13287 Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 05:17 PM Author Report Share #144946 Posted November 3, 2007 at 05:17 PM Por acaso não tinha passado por essa página, porque me estava a basear nas instruções do meu cliente mail... mas só tinha posto o username, de qualquer maneira serviu... Agora já dá outro erro, que é este: Warning: fsockopen(): unable to connect to smtp.gmail.com:587 (Uma tentativa de ligação falhou porque o componente ligado não respondeu correctamente após um pe ríodo de tempo, ou a ligação estabelecida falhou porque o anfitrião ligado não r espondeu. ) in C:\Documents and Settings\Andre Silva\Ambiente de trabalho\class.smtp.php o n line 105 There was an error sending the message Será por causa do SSL? Tentei ver o código, mas não encontrei nada que falasse sobre o ssl... Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 3, 2007 at 05:20 PM Report Share #144949 Posted November 3, 2007 at 05:20 PM sim, quase de certeza que é por causa disso. Eu já uma vez tive que mudar o código fonte de um script php precisamente por causa do ssl. Vamos cá ver então como resolver isso 😕 Link to comment Share on other sites More sharing options...
pedrotuga Posted November 3, 2007 at 06:11 PM Report Share #144962 Posted November 3, 2007 at 06:11 PM yay! já descobri. é mesmo esse o problema, precisas de fazer uma pequena altereção no código fonte dessa classe e depois incluir: 'ssl://' no host Está aqui explicado: http://drupal.org/node/39138 Mas experimenta primeiro pois isso é gajo para já ter sido resolvido. Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 06:37 PM Author Report Share #144970 Posted November 3, 2007 at 06:37 PM Bem, eu tentei de duas maneiras: 1) alterando esta linha: $mail->Host = "smtp.gmail.com"; para $mail->Host = "ssl://smtp.gmail.com"; e dá este erro: Warning: fsockopen() expects parameter 2 to be long, string given in C:\Documents and Settings\Andre Silva\Ambiente de trabalho\class.smtp.php on line 107 There was an error sending the message 2) alterando a função em si no class.smtp.php (sem a alteração anterior) #connect to the smtp server $this->smtp_conn = fsockopen($host, # the host of the server $port, # the port to use $errno, # error number if any $errstr, # error message if any $tval); # give up after ? secs para #connect to the smtp server $this->smtp_conn = fsockopen("ssl://".$host, # the host of the server $port, # the port to use $errno, # error number if any $errstr, # error message if any $tval); # give up after ? secs e dá o mesmo erro... A solução de colocar a linha if($this->Protocol) $host = $this->Protocol."://".$host; também não funciona... Até porque estive a ver a classe, e não vi essa propriedade... 😕 Entretanto estou a tentar mudar também outros valores, como portas e outros. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 06:41 PM Author Report Share #144974 Posted November 3, 2007 at 06:41 PM Tentei agora pela porta 465 e deu-me isto: Warning: fsockopen(): unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\Documents and Settings\Andre Silva\Ambiente de trabalho\class.smtp. php on line 107 There was an error sending the message Eu instalei o WAMP, que já vem com o Apache, PHP, etc... não mexi na configuação, está tudo como default... Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
djthyrax Posted November 3, 2007 at 06:44 PM Report Share #144977 Posted November 3, 2007 at 06:44 PM Tens a extensão o OpenSSL instalado? phpinfo(); it ou então vê o php.ini Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 06:53 PM Author Report Share #144986 Posted November 3, 2007 at 06:53 PM Penso que não, não há nenhuma referência para ele... Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
djthyrax Posted November 3, 2007 at 07:08 PM Report Share #144989 Posted November 3, 2007 at 07:08 PM Vê se na pasta ext do php tens lá um dll em que esteja com openssl no nome. Se sim, editas o php.ini e na parte das extensões adicionas esse dll e copias o ficheiro libeay32.dll para o C:\Windows Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 07:22 PM Author Report Share #144992 Posted November 3, 2007 at 07:22 PM Activei o php_openssl e copiei o ficheiro libeay32.dll para o c:\windows... depois reiniciei o servidor web, mas o erro persiste... Warning: fsockopen(): unable to connect to ssl://smtp.gmail.com:465 (Unable to f ind the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\Documents and Settings\Andre Silva\Ambiente de trabalho\class.smtp. php on line 107 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
pedrotuga Posted November 3, 2007 at 08:01 PM Report Share #144996 Posted November 3, 2007 at 08:01 PM tens que o activar no teu php.ini Link to comment Share on other sites More sharing options...
softklin Posted November 3, 2007 at 08:09 PM Author Report Share #144997 Posted November 3, 2007 at 08:09 PM Já deu 😉 Eu pensei que apenas era necessário activar a extensão pelo menu, mas deve ter havido algum problema, e então segui o conselho de activar pelo php.ini Message sent sucessfully Obrigado 😕 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
djthyrax Posted November 3, 2007 at 09:24 PM Report Share #145010 Posted November 3, 2007 at 09:24 PM E recebeste mesmo o mail? Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
softklin Posted November 4, 2007 at 11:32 AM Author Report Share #145100 Posted November 4, 2007 at 11:32 AM E recebeste mesmo o mail? Sim, por acaso pensei que ainda ia demorar um tempo, mas foi quase logo que enviei Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
downloader Posted March 3, 2011 at 09:22 PM Report Share #372653 Posted March 3, 2011 at 09:22 PM Olá 😁 Consegui implementar o teu código mas não estou a conseguir compreender onde posso colocar um corpo de mensagem para enviar com o email. Onde posso adicionar isso?? ====================================================================================== Não sei o que se passou mas agora acontece um erro: Deprecated: Function eregi() is deprecated in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\JOGO Projectofinal\Nova pasta\MAils\TESTAR\class.phpmailer.php on line 592 Ainda não consegui detectar porquê.. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now