Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Eu fiz um código em JavaScript que chama um script em PHP para o envio de um e-mail padrão para uma determinada lista fixa de contatos, anexando neste e-mail um arquivo que está no servidor.
Porém, ao executar esse código em JavaScript, o e-mail é enviado, mas o anexo não é colocado na mensagem. Se eu rodar manualmente o script em PHP que é chamado pelo código de JavaScript "# php send.php", o e-mail passa a ser enviado com o anexo.
Vocês podem me ajudar, por favor? Acredito que seja algo relacionado à permissões, porém eu não estou encontrando a solução.
Aqui está o código em JavaScript:
$scope.sendMail = function() {
jQuery.ajax({
type: "POST",
url: root.root + "send.php",
data: $scope.contact,
success: function() {
console.log('sucesso!');
jQuery('.log-message').html(alert ("Mensagem enviada com sucesso!\n\nEm breve retornaremos seu e-mail com uma resposta. Obrigado."));
}
});
}
}>
On 7/5/2019 at 9:42 PM, Marcos_imasters said:
altere
jQuery('.log-message').html(alert ("Mensagem enviada com sucesso!\n\nEm breve retornaremos seu e-mail com uma resposta. Obrigado."));
para
jQuery('.log-message').html("Mensagem enviada com sucesso!\n\nEm breve retornaremos seu e-mail com uma resposta. Obrigado.");
Boa tarde, amigo.
Fazendo essas mudanças a mensagem apenas deixa de ser exibida em uma caixa de texto para o usuário e passa a ser mostrada dentro da página do formulário, porém o e-mail ainda continua sendo enviado sem o anexo...
Você tem mais alguma sugestão para esse problema?
Obrigadoenviou de anexo via jquery e possivel hoje em dia com https://developer.mozilla.org/en-US/docs/Web/API/FormData
exemplo No evento submit do seu formulário, através do seu ajax você vai enviar o data como new FormData(this). Segue exemplo.
<form name="form1" id="send" enctype="multipart/form-data">
<input type="file" name="nome" />
</form>
e no seu ajax
$.ajax({
url: 'file.php',
type: 'POST',
data: new FormData(this),
success: function(){ }
});
No seu PHP você vai captar o valor da seguinte forma
<?php
echo $_FILES["nome"]["name"];
?>>
On 7/11/2019 at 10:49 AM, Marcos_imasters said:
enviou de anexo via jquery e possivel hoje em dia com https://developer.mozilla.org/en-US/docs/Web/API/FormData
exemplo No evento submit do seu formulário, através do seu ajax você vai enviar o data como new FormData(this). Segue exemplo.
<form name="form1" id="send" enctype="multipart/form-data">
<input type="file" name="nome" />
</form>
e no seu ajax
$.ajax({
url: 'file.php',
type: 'POST',
data: new FormData(this),
success: function(){ }
});
No seu PHP você vai captar o valor da seguinte forma
<?php
echo $_FILES["nome"]["name"];
?>
Obrigado mais uma vez amigo pela ajuda, eu te mandei uma inbox com mais detalhes, se puder dê uma olhada
Obrigado
altere