rocks Posted March 12, 2021 at 10:11 PM Report Share #621672 Posted March 12, 2021 at 10:11 PM Boas , Estou a tentar fazer um site enviar email mas estou a ter alguns problemas. Ao usar o gmail e enviar para o gmail nao tenho problemas nenhuns. Funciona tudo bem . Ao usar office365 e enviar para office365 (rmmio@iscte-iul.pt) so funciona quando o email de quem envia é o mesmo de quem recebe. Enviando de um mail "à toa" tenho o erro SMTP -> ERROR: DATA not accepted from server: 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message. 0.35250:0A006082, 1.36674:0A000000, 1.61250:00000000, 1.45378:02000000, 1.44866:3B1E0000, 1.36674:0E000000, 1.61250:00000000, 1.45378:401E0000, 1.44866:24020000, 16.55847:B10F0000, 17.43559:0000000024020000000000000000000000000000, 20.52176:140F488F1D00103100000000, 20.50032:140F488F8D17000000000000, 0.35180:140F488F, 255.23226:0A00 SMTP Error: Data not accepted. Alguém consegue ajudar Desde ja Obrigado $email = 'rmmio@iscte-iul.pt'; $user = $user_check; $userID = $ID_USER; $pri = $_POST['name']; $ult = $_POST['last']; $email_r = $email_user; $email_a = $_POST['email_A']; $num_a = $_POST['contacto_A']; $Description = $_POST['Description']; $Vai = ""; $Vai .= "User: ".$user."\n"; $Vai .= "User ID : ".$userID."\n"; $Vai .= "Nome: ".$pri." ".$ult."\n"; $Vai .= "Email registado: ".$email_r."\n"; $Vai .= "Email Alternativo: ".$email_a."\n"; $Vai .= "Numero Alternativo: ".$num_a."\n"; $Vai .= "Descrição: ".$Description."\n"; require_once("../phpmailer/class.phpmailer.php"); define('GUSER', 'rmmio@iscte-iul.pt'); define('GPWD', '********'); function smtpmailer($para, $de, $de_nome, $assunto, $corpo) { global $error; $mail = new PHPMailer(); $mail->CharSet = 'UTF-8'; $mail->IsSMTP(); // Ativar SMTP $mail->SMTPDebug = 1; // Debugar: 1 = erros e mensagens, 2 = mensagens apenas $mail->SMTPAuth = true; // Autenticação ativada //$mail->SMTPSecure = 'tls'; // SSL REQUERIDO pelo GMail $mail->SMTPSecure = 'tls'; // SSL REQUERIDO pelo GMail $mail->Host = 'smtp.office365.com'; // SMTP utilizado $mail->Port = 587; // A porta 587 deverá estar aberta em seu servidor $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($de, $de_nome); $mail->Subject = $assunto; $mail->Body = $corpo; $mail->AddAddress($para); if (!$mail->Send()) { $error = 'Mail error: ' . $mail->ErrorInfo; return false; } else { $error = 'Mensagem enviada!'; return true; } } if (smtpmailer($email, $email_r, $user, 'Novo Ticket', $Vai)) { echo "<script> alert('Novo registo criado com sucesso');</script>"; //echo "<script type=\"text/javascript\">document.location.href='form.php';</script>"; // exit(); } Link to comment Share on other sites More sharing options...
antseq Posted March 13, 2021 at 11:53 AM Report Share #621674 Posted March 13, 2021 at 11:53 AM 13 horas atrás, rocks disse: SMTP -> ERROR: DATA not accepted from server: 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process message due to a permanent exception with message Cannot submit message. 0.35250:0A006082, 1.36674:0A000000, 1.61250:00000000, 1.45378:02000000, 1.44866:3B1E0000, 1.36674:0E000000, 1.61250:00000000, 1.45378:401E0000, 1.44866:24020000, 16.55847:B10F0000, 17.43559:0000000024020000000000000000000000000000, 20.52176:140F488F1D00103100000000, 20.50032:140F488F8D17000000000000, 0.35180:140F488F, 255.23226:0A00 SMTP Error: Data not accepted. Segundo esta explicação: https://stackoverflow.com/questions/40016305/phpmailer-exceptionsendasdeniedexception-mapiexceptionsendasdenied "Since july 2017 office 365 smtp does not allow using a "from" address other than your own (or what you're authenticated with), probably as an anti-spam measure" Geralmente o "From" não costuma ser arbitrário... e deveria ser o mesmo utilizado na autenticação. (nem sei porque o gmail o está a deixar fazer de outra forma... totalmente livre, sem restrições de que autentica e de quem envia..) 1 1 Report Link to comment Share on other sites More sharing options...
rocks Posted March 13, 2021 at 01:14 PM Author Report Share #621675 Posted March 13, 2021 at 01:14 PM Com esse link encontrei uma maneira de contornar o problema que é adicionar a linha $mail->AddReplyTo('MMMrmmio@iscte-iul.pt', $de_nome); Depois ao receber o email ao fazer responder ele ja faz a resposta para MMMrmmio@iscte-iul.pt o problema desta solução em que faz reply também para o próprio mail 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