Ir para conteúdo
Fórum Script Brasil
  • 0

Email


Guest --solange --

Pergunta

Guest --solange --
Oi pessoal, como faço para mandar email pelo php?

utilizo a função mail, passando os dados , exemplo:

$mail_to = 'meunome@@gmail.com';

$mail_from = 'nomesetor@uol.com.br'; // $_POST['email'];

$mail_reply_to = ''; //$_POST['email'];

$mail_cc = 'novaliberdade@itelefonica.com.br';

$mail_bcc = '';

$mail_sub = 'Fale conosco, dúvida ou sugestão:';

$mail_subject = stripslashes($mail_subject);

$mail_body = stripslashes($mail_body);

$mail_headers .= "Content-type: text/html; charset=us-ascii\r\n";

$mail_headers .= "Content-transfer-encoding:8bit\r\n\r\n";

/return mail($mail_to,$mail_subject,$mail_body,$mail_headers);

Não consigo fazer o email funcionar, mas também não aparece nenhuma mensagem de erro :blink: .

Estou trabalhando em ambiente Novell com PHP5 e apache 2.

Tem alguma configuração que deve ser feita para que o envio de email funcione?

Obrigada

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0
Guest --solange --

Tenho sim. Mas não tenho acesso, isso só com o administrador da rede. O Grupo Wise (servidor email) está na mesma máquina que a programacao.

Gostaria de saber o que tenho de confirgurar para poder passar para ele (administrador).

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --solange --

Olá itibere, o que deveria configuar no PHP? E onde fica?

Obrigada mais uma vez pela ajuda

Ah! Dr. Gap Vou dar uma olhada no XPM2 sim, obrigada também.

Link para o comentário
Compartilhar em outros sites

  • 0
Olá itibere, o que deveria configuar no PHP? E onde fica?

Obrigada mais uma vez pela ajuda

Ah! Dr. Gap Vou dar uma olhada no XPM2 sim, obrigada também.

Procure por isso no php.ini

[mail function]; For Win32 only.

SMTP = localhost

; For Win32 only.

sendmail_from = me@localhost.com

; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').

;sendmail_path =

Se você não estiver usando o sendmail, tem que colocar o caminho do seu servidor de e-mail em sendmail_path =, se você configurar sendemail, não vai precisar fazer nada, o php usa o sendmail por default

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --solange --

Desculpe, só mas não funcionou.

E mail não chega.

meu php.ini

está assim

[mail function]

; For Win32 only.

SMTP = OEM --> va lembar que já coloquei o endereço aqui etambém não funcionou

smtp_port = 25

; For Win32 only.

sendmail_from =

;sendmail_path =

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").

sendmail_path = mail.empresa.com.br

Já tentei colocar o número do ip

Mas aind assim não funciona.

Não sei se tem alguma mais alguma coisa a configurar por ser novell.

o servidor de email é grupo wise

utilizo apache e php 5.02

se alguém tiver mais alguma dica.....

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --solange --

Olá pessoal, estou retomando aos emails e,

não consigo enviar email.

meu php.ini está assim

[mail function]

; For Win32 only.

SMTP = [ip do servidor]

smtp_port = 25

; For Win32 only.

sendmail_from = solange@php.com.br

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").

sendmail_path = [ip do servidor de email]

O PHP 5 e o apache 2 estão instalados no novell - netware

e o administrador de rede me solicitou que fizesse uma autenticação no servidor para poder permitir que seja enviado e email.

Como devo fazer isto?

Algúém tem alguma sugestão?

Link para o comentário
Compartilhar em outros sites

  • 0

olha eu continuo insistindo pra você usar o XPM2... além de facilitar o envio ele funciona como uma camada de abstração... você não precisa se preocupar com nenhum detalhe do php.ini... sem contar que encapsula uma boa parte de código "chato" e tals... minha experiência de apostar em classes prontas sempre deu certo... um exemplo de como seria o código pra mandar email pelo XPM2

$mail = new SMTP;
$mail->Delivery('relay');
$mail->Relay('smtp.cescage.edu.br', $username, $password, 465, 'autodetect', true);
$mail->From($username);

e depois é só colocar assunto e mensagem ou HTML... usando o XPM2 eu consegui mandar email numa instalação crua do PHP+APACHE sem ter que mexer em php.ini e tals... calculo que o XPM2 deve ajeitar as váriaveis do PHP em tempo de execução... vale a pena... sem contar que se você mudar teu script pra algum servidor onde você não tenha acesso ao php.ini o XPM2 já faz o serviço pra você...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --solange --

Olá Dr. Gap, como funciona?

Eu baixei o arquivo phpmailer.zip que vem com dois arquivos:

que estão no mesmo diretorio dos programas

class.phpmailer.php e class.smtp.php class

Já coloquei o include destes arquivos.

O que devo configurar mais?

tentei usar o código que você enviou, mas ainda não consegui enviar.

obrigada.

Vôcê pode indicar algum local que tenha a documentação, o endereco que você passou não consigo acessar.

Link para o comentário
Compartilhar em outros sites

  • 0

você tá confundindo o XPM2 com o PHPMailer... hehe...

o XPM2 você pd baixar do mirror da UFPR nesse link

http://ufpr.dl.sourceforge.net/sourceforge...mailer/XPM2.zip

a documentação completa e excelente você acha em

http://www.xpertmailer.com/DOC/

e o código não funcionou porque você tá usando o PHPMailer ao invés do XPM2

depois de baixar o arquivo XPM2.zip e só descompacta-lo na mesma pasta onde estão os teus scripts que precisam enviar email... um exemplo seria assim

require_once 'xpm2/smtp.php';

$mail = new SMTP;
$username = 'no-reply-noticias@cescage.edu.br';
$password = 'XXXX';

$mail->Delivery('relay');
$mail->Relay('smtp.cescage.edu.br', $username, $password, 465, 'autodetect', true);
$mail->From($username);
$mail->AddTo('email_destino@yahoo.com.br');

$texto_email = 'Aqui vai a mensagem do corpo do email...';

$mail->Text($texto_email); //pode ser HTML tb

$assunto = 'Isto é um teste...';

$send = $mail->Send($assunto); //pronto, já envia o email
tem um exemplo legal tb do proprio site
// path to smtp.php from XPM2 package
require_once '/path/smtp.php';

$mail = new SMTP;
$mail->From('me@domain.com');
$mail->AddTo('client@destination.com');
$mail->Text('It is simple to use XPM2');
$sent = $mail->Send('Hello World!');

echo $sent ? 'Success' : 'Error';

dai você troca smtp.cescage.edu.br pelo smtp que você vai usar... $username e $password é a o login e senha do email q você estah usando pra enviar emails...

ele tb tem funcoes pra verificar se um email é valido e tals...

Link para o comentário
Compartilhar em outros sites

  • 0

Se eu adicionar meu e-mail no php.ini,

no seu respectivo campo para envio de e-mail, eu consigo envia-lo?

Dando um ganxo na duvida da Solange, sobre o sendmail.

O local em questao seria:

; For Win32 only.

;sendmail_from = me@example.com

Obrigado,

[]s, Thiago

Editado por Thiago Top
Link para o comentário
Compartilhar em outros sites

  • 0

Boas eu tenho um codigo que envia emails...

$destino=$_POST['para'];

$de=$_POST['de'];

$cc=$_POST['cc'];

$bcc=$_POST['bcc'];

$assunto=$_POST['assunto'];

$mensagem=$_POST['mensagem'];

$anexo=$_FILES['file'];

if($anexo)

{

$codifica=chunk_split(base64_encode(file_get_contents($anexo['tmp_name'])));

}

if(mail($destino, $assunto, $msg, $headers))

{

echo "Email enviado com sucesso"."<br>";

echo "Ficheiro: " .$_FILES['file']['name'];

}

else

{

echo "Erro ao enviar email";

}

Editado por HugoAlmeida
Link para o comentário
Compartilhar em outros sites

  • 0

Olha, eu tenho um exemplo de uma pagina minha que envia e-mails para um servido,

só que é o seguinte, eu queria descobrir como esta pagina envia emails, eu sou novo em PHP

estou com um codigo desconhecido, um abacaxi para descascar, =/

function send_mail($to, $subject, $body, $fromname, $from) {

if (!empty($to)) {

if (!mail($to, $subject, stripslashes($body), "From: $fromname <$from>")) die("N<E3>o foi poss<ED>vel

enviar o e-mail!");

}

}

Oque essa funcao faz?

Desde já, Obrigado.

[]s, Thiago

Link para o comentário
Compartilhar em outros sites

  • 0
Olha, eu tenho um exemplo de uma pagina minha que envia e-mails para um servido,

só que é o seguinte, eu queria descobrir como esta pagina envia emails, eu sou novo em PHP

estou com um codigo desconhecido, um abacaxi para descascar, =/

function send_mail($to, $subject, $body, $fromname, $from) {

if (!empty($to)) {

if (!mail($to, $subject, stripslashes($body), "From: $fromname <$from>")) die("N<E3>o foi poss<ED>vel

enviar o e-mail!");

}

}

Oque essa funcao faz?

Desde já, Obrigado.

[]s, Thiago

Thiago é o seguinte meu chapa..

num sou expert mas vou tentar explicar:

function send_mail($to, $subject, $body, $fromname, $from) {
    if (!empty($to)) {
          if (!mail($to, $subject, stripslashes($body), "From: $fromname <$from>")) die("N<E3>o foi poss<ED>vel
 enviar o e-mail!");
        }
  }

Na linha 1

chama a função send_mail;// a qual é encarregada de enviar os emails

Na mesma linha a função seta a Variavel $to = "para";

$subject = assunto;

$body = corpo da mesagem;

$fromname = "Nome de Quem esta enviando";

$from = "email de quem esta enviando";

linha 2

if (!empty($to)) = "verifica se a variavel $to não esta vazia " ! empty"= (diferente de vazio);

na terceira linha

Faz a mesma verificação em todas a variaveis; se tudo for vazio ele não envia nada ;

caso o contrario o email é enviado com sucesso;;

Bom acho que é isso..

Mas vale a pena você pegar essa função e estuda-la passo a passo ... no site do php. www.php.net

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
Olá Dr. Gap, como funciona?

Eu baixei o arquivo phpmailer.zip que vem com dois arquivos:

que estão no mesmo diretorio dos programas

class.phpmailer.php e class.smtp.php class

Já coloquei o include destes arquivos.

O que devo configurar mais?

tentei usar o código que você enviou, mas ainda não consegui enviar.

obrigada.

Vôcê pode indicar algum local que tenha a documentação, o endereco que você passou não consigo acessar.

Solange é o seguinte...

tive varios problemas com envio de emails... fiz a mesmo coisa que você.

procurei scripts, baixei servidor free, coloquei servidor pago e nem tudo dava certo.

pois como uso SO Windows xp, php 5 e apache..

tudo era embaçado de configurar...

mas nas minhas buscas em site e foruns achei um script bala e não tive problema, acredito que funcione com seu server.

se não funcionar você testa com qualquer servidor de email da web..tipo ig. yahoo, pois eu uso o da locaweb...

so que ele funciona como autenticados de SMPT. vai abaixo a classe e um exemplo:

Classe:

<?
class Smtp{

var $conn;
var $user;
var $pass;
var $debug;

function Smtp($host){
$this->conn = fsockopen($host, 25, $errno, $errstr, 30);
$this->Put("EHLO $host");
}
function Auth(){
$this->Put("AUTH LOGIN");
$this->Put(base64_encode($this->user));
$this->Put(base64_encode($this->pass));
}
function Send($to, $from, $subject, $msg){

$this->Auth();
$this->Put("MAIL FROM: " . $from);
$this->Put("RCPT TO: " . $to);
$this->Put("DATA");
$this->Put($this->toHeader($to, $from, $subject));
$this->Put("\r\n");
$this->Put($msg);
$this->Put(".");
$this->Close();
if(isset($this->conn)){
return true;
}else{
return false;
}
}
function Put($value){
return fputs($this->conn, $value . "\r\n");
}
function toHeader($to, $from, $subject){
$header = "Message-Id: <". date('YmdHis').".". md5(microtime()).".". strtoupper($from) ."> \r\n";
$header .= "From: " . $from . " \r\n";
$header .= "To: ".$to." \r\n";
$header .= "Subject: ".$subject." \r\n";
$header .= "Date: ". date('D, d M Y H:i:s O') ." \r\n";
$header .= "X-MSMail-Priority: Low \r\n";
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-type: text/html; charset=iso-8859-1\r\n";
return $header;
}
function Close(){
$this->Put("QUIT");
if($this->debug == true){
while (!feof ($this->conn)) {
 fgets($this->conn) . "<br>\n";
}
}
return fclose($this->conn);
}
}
?>
Exemplo de uso:
$sql1="select * from configuracoes where 1 and id_usuario = '".$UserID."'";
echo $sql1;
$qdf = mysql_query($sql1,$con) or die (mysql_error());
$row = mysql_fetch_array($qdf,MYSQL_ASSOC);

if ($email!=""){
include ("email_class.php");

/* Configuração da classe.smtp.php */
$host = "".$row['smtp_user'].""; /*host do servidor SMTP */
$smtp = new Smtp($host);
$smtp->user = "".$row['email_princ'].""; /*usuario do servidor SMTP */
$smtp->pass = "".base64_decode($row['senha']).""; /* senha dousuario do servidor SMTP*/
$smtp->debug = true; /* ativar a autenticação SMTP*/

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...