Jump to content
Fórum Script Brasil
  • 0

Email


Guest --solange --
 Share

Question

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

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

$mail_to = '[email protected]@gmail.com';

$mail_from = '[email protected]'; // $_POST['email'];

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

$mail_cc = '[email protected]';

$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 to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 = [email protected]

; 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 to comment
Share on other 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 to comment
Share on other 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 = [email protected]

; 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 = '[email protected]';
$password = 'XXXX';

$mail->Delivery('relay');
$mail->Relay('smtp.cescage.edu.br', $username, $password, 465, 'autodetect', true);
$mail->From($username);
$mail->AddTo('[email protected]');

$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('[email protected]');
$mail->AddTo('[email protected]');
$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 to comment
Share on other 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";

}

Edited by HugoAlmeida
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...