Ir para conteúdo
Fórum CódigoFonte.net
RJ Rick

Formulário de Envio de Email. ERRO

Recommended Posts

kinzinho,

ja acertei mas continua dando o erro:

Parse error: syntax error, unexpected $end in /home/monograf/public_html/sendmail.php on line 45

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem que fechar esse foreach, cara.

foreach ( $email as $em ) {

ou melhor, comenta essa linha e vê se funciona.

ele tá boiando ali, nem ta fazendo nada com a váriavel $em depois...

Editado por vitinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vitinho,

tirei a linha invasora e testei. Funcionou mas o arquivo anexo não chegou, somente os dados do formulario.

Nenhuma mensagem de erro.

Obrigado por estar me ajudando. Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex,

vi o forum que me passou. Será que tenho que começar tudo do zero? Será que consigo acertar este código e o anexo chegar? O arquivo carrega, tanto que para testar retirei o arquivo da pasta pra ver se dava erro de carregamento e deu. Então o problema parece ser no envio. Vou ver se aparece alguem que já tenha se deparado com isto, mais experiente e nos de a dica do que ocorre. Se não, caio em cima de seu tutorial. rsrsrsrsrsrsrsrsrsrs Agradeço de coração a ajuda. Um abração de um amigo.

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, ja passamos da marca das 600 visitas ao tópico e até agora não encontramos a solução. Vamos, de sua opinião, to tentando tudo até reza brava serve, o importante e colocar o código pra funcionar e deixa-lo aqui para que outros tenham um referencial.

Obrigado pessoal pela ajuda.

Ainda to procurando a solução, alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, ja passamos da marca das 600 visitas ao tópico e até agora não encontramos a solução. Vamos, de sua opinião, to tentando tudo até reza brava serve, o importante e colocar o código pra funcionar e deixa-lo aqui para que outros tenham um referencial.

Obrigado pessoal pela ajuda.

Ainda to procurando a solução, alguma sugestão?

Não precisa fazer do zero, tai a solução, com base no tutorial que escrevi

http://forum.codigofonte.net/index.php?showtopic=10158

Depois de ter os quatro arquivos do tutorial, levei em conta que vc está usando o php5

<?php

//corrigido: as variaveis estavam como "mail2" e é "mail"

error_reporting(E_ALL);

require("Mail.php");
require("AttachmentMail.php");
require("Multipart.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$comentario = $_POST['comentario'];
$amigos = array(
array($_POST['amigo_1'], $_POST['email_1']),
array($_POST['amigo_2'], $_POST['email_2']),
array($_POST['amigo_3'], $_POST['email_3'])
);


$msgOK = "Sua mensagem foi enviada com sucesso";
$msgFAILED = "Email não foi enviado";
$assunto = "Recebi, gostei e estou enviando para você";

$mail = new AttachmentMail("", $assunto, "", $email);

$mp1 = new Multipart("../images/form.swf");
$mail->addAttachment($mp1);

foreach($amigos as $x)
{
$mail->addTo($x[1]);
}

$mail->setBodyText($comentario);
$mail->setPriority(ABSTRACTMAIL_NORMAL_PRIORITY);
if ($mail->send())
    $msg = $msgOK;
else
    $msg = $msgFAILED;


echo "<script>location.href='index.html'; alert('$msg');</script>";
?>

Editado por Alex Gotardi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex agradeço a ajuda e sua dedicação em resolver o problema. Utilizei seu código para testar e deu o seguinte erro:

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Fatal error: main() [function.require]: Failed opening required 'Mail.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/monograf/public_html/sendmail.php on line 4

O que acha?

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitei o

error_reporting(E_ALL);

do Alex pra checar o código que utilizei.

<?php

error_reporting(E_ALL);

$nome = $_POST['nome'];

$email = $_POST['email'];

$comentario = $_POST['comentario'];

$amigos = array(

array($_POST['amigo_1'], $_POST['email_1']),

array($_POST['amigo_2'], $_POST['email_2']),

array($_POST['amigo_3'], $_POST['email_3'])

);

$mensagem = wordwrap( $mensagem, 50, "<br>", 1);

$arquivo = "images/form.swf";

$partes_do_path = pathinfo($arquivo);

$handle = fopen($arquivo, "rb");

$headers = fread($handle, filesize($arquivo));

$headers = base64_encode($conteudo);

$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";

$headers .= "$boundary\n";

$headers = "MIME-Version: 1.0\n";

$headers .= "From: $nome <$email>\n";

$headers .= "Bcc: [email protected]\r\n";

$recipients = '';

foreach($amigos as $x)

{

$recipients .= $x[0] . '<' . $x[1] . '>, ';

}

$assunto = "Recebi, gostei e estou enviando para você";

$boundary = "XYZ-" . date("dmYis") . "-ZYX";

$mens = "MIME-Version: 1.0\r\n";

$mens .= "Content-type: text/html; charset=iso-8859-1\r\n";

$mens .= "--$boundary\n";

$mens .= "Content-Transfer-Encoding: 8bits\n";

$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain

$mens .= "$mensagem\n";

$mens .= "--$boundary\n";

$mens .= "Content-Type: application/force-download\n";

$mens .= "Content-Disposition: attachment; filename=\"".$partes_do_path['basename']."\"\n";

$mens .= "Content-Transfer-Encoding: base64\n\n";

$mens .= "$conteudo\n";

$mens .= "--$boundary--\r\n";

$corpo = "Mensagem enviada por: $nome .\r\nEmail: $email .\r\nComentarios: $comentario .\n";

mail($recipients, $assunto, $corpo, $headers);

$msg = "Sua mensagem foi enviada com sucesso.";

echo "<script>location.href='index.html'; alert('$msg');</script>";

?>

Deu os seguintes erros:

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 11

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 16

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 17

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 18

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 39

E agora? Todos referentes ao anexo. Por isto so chega o email sem o danado do anexo.

Alguem pode me dizer como resolver esta pitinga? Bruxaria? Cha de erva? Reza brava? Promessa?

Aceito conselhos espirituais, religiosos, psicologicos ou outros.

Um abração a todos e obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara isso nao e erro

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 11

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 16

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 17

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 18

Notice: undefined variable: mensagem in /home/monograf/public_html/sendmail.php on line 39

ele so está dizendo que vc não definiu a variável, mas isso não impede do seu código funcionar....

O código roda normal porém como está error_reporting(E_ALL) ele exibe tudo quanto e detalhe de erro do código...

Como está seu formulário? Porque se está enviando e porque não está dando erro senão ele não enviava.... Eu tenho que achar cara eu fiz isso pra um cara aqui do forum tenho ele no MSN quando ele tiver on eu peço pra ele....

Mas de qualquer forma coloca seu formulário aqui so pra eu fragar uma treta ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex agradeço a ajuda e sua dedicação em resolver o problema. Utilizei seu código para testar e deu o seguinte erro:

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Warning: main(Mail.php) [function.main]: failed to open stream: No such file or directory in /home/monograf/public_html/sendmail.php on line 4

Fatal error: main() [function.require]: Failed opening required 'Mail.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/monograf/public_html/sendmail.php on line 4

O que acha?

Rick.

Ele está dizendo que vc não possui o arquivo Main.php no diretório

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex,

tenho o arquivo no www mas estava como mail.php ai reenviei como Mail.php e testei, deu o seguinte erro:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/monograf/public_html/Mail.php on line 14

O que acha que é?

Da uma olhadinha na página www.monografiasrio.com.br/envio.html. Ta instalado. Se tiver um tempinho disponibilizei acima o arquivo da página em HTML.

Te agradeço a ajuda.

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex,

ta funcionando legal, Parabens, seu tutorial e um show. Depois de 1.072 visitas a este Post consegui resolver a perengue. Tenho que tirar o chapeu pra ti, um dos melhores programadores PHP do CódigoFonte.net. Obrigado pela ajuda a mim e creio que tambem a todos que algum dia precisem de fazer um envio com anexo. Agradeço a todos que participaram deste topic, aos comentários que fizeram pra ajudar. Obrigado a todos.

Abraço, Alex e muito obrigado.

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex,

so mais uma perguntinha:

Para envio com cópia oculta o que devo adicionar?

E para complementar o comentario escrito, onde adiciono a mensagem?

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alex Gotardi será que foi vc mesmo que criou está classe do email ? Cuidado com direitos autorais ai cara, divulga o nome de quem realmente criou o sistema...

so adicionar CC: [email protected] no $headers Rick

Galera geral um pesquisada no google não mata ninguém não viu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo kinzinho,

neste eu não sei, da uma olhadinha no PHP

<?php

error_reporting(E_ALL);

require("Mail.php");

require("AttachmentMail.php");

require("Multipart.php");

$nome = $_POST['nome'];

$email = $_POST['email'];

$comentario = $_POST['comentario'];

$amigos = array(

array($_POST['amigo_1'], $_POST['email_1']),

array($_POST['amigo_2'], $_POST['email_2']),

array($_POST['amigo_3'], $_POST['email_3']),

);

$msgOK = "Sua mensagem foi enviada com sucesso";

$msgFAILED = "Email não foi enviado";

$assunto = "Recebi, gostei e estou enviando para você";

$mail = new AttachmentMail("", $assunto, "", $email);

$mp1 = new Multipart("mensagens.swf");

$mail->addAttachment($mp1);

foreach($amigos as $x)

{

$mail->addTo($x[1]);

}

$mail->setBodyText($comentario);

$mail->setPriority(ABSTRACTMAIL_NORMAL_PRIORITY);

if ($mail->send())

$msg = $msgOK;

else

$msg = $msgFAILED;

echo "<script>window.location.href='envio.html'; alert('$msg');</script>";

?>

cade @headers?

To estudando o PHP do Alex.

Então onde coloco?

Abração

Rick

Compartilhar este post


Link para o post
Compartilhar em outros sites

kinzinho,

já achei.

cópia oculta:

$mail->AddBcc("[email protected]");

Complementação Texto:

$mail->setBodyText($comentario.'Aqui vai o texto complementar.');

So tem um problema, o texto complementar eu queria que ficasse na linha abaixo do comentário. Não me lembro como faz isto (sintaxe)

Lembra como é ? Da uma ajuda ai pessoal...

Abração a todos,

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vitinho,

deu erro

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/monograf/public_html/mail_anexo/sendmail.php on line 41

Linha 41: echo "<script>window.location.href='envio.html'; alert('$msg');</script>";

Não entendi o por que...

Valeu amigo a sugestão.

Rick.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×
×
  • Criar Novo...