Javascript que não entendo.

Minguno

Power Member
Ando de roda do meu site para o atualizar, vi uma maneira de enviar e-mails sem server e queria testar.
Usei o emailjs.
Mas por muito que já retoquei coisas principalmente no js não consigo que funcione o form sender.

No html zona form tenho

Código:
<script type="text/javascript"
            src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js">
</script>

Código:
<script type="text/javascript">
           (function(){
          emailjs.init("by service"); → está no emailjs 
})();

Código:
<div class="contact-form">
            <form id="formsend" action="" method="">
              <div class="row">
                <div class="w-50">
                  <div class="input-group outer-shadow hover-in-shadow">
                    <input class="input-control" type="text" name="name" id="name" placeholder="Name" required>
                  </div>
                  <div class="input-group outer-shadow hover-in-shadow">
                    <input class="input-control" type="email" name="email" id="sender" placeholder="email" required>
                  </div>
                  <div class="input-group outer-shadow hover-in-shadow">
                    <input class="input-control" type="tel" name="subject" id="subject" placeholder="Subject" required>
                  </div>
                </div>
                <div class="w-50">
                  <div class="input-group outer-shadow hover-in-shadow">
                    <textarea class="input-control" name="user_dtls" id="user_dtls" required placeholder="Type here..."></textarea>
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="submit-btn">
                  <button class="btn-1 outer-shadow outer-shadw hover-in-shadow submit" onclick="sendmail()" >Send Message</button>
                </div>
              </div>
            </form id="formsend">

No js tenho

Código:
function sendmail(){

var params = {
    name: document.getElementById("name").value,
    email: document.getElementById("sender").value,
    subject: document.getElementById("subject").value,
    user_dtls: document.getElementById("user_dtls").value,
  };

  const serviceID = "MYID";         → coloco o meu  ID                
  const templateID = "MYtpl";        → coloco template ID

    emailjs.send(serviceID, templateID, params)
    .then(res=>{
        document.getElementById("name").value = "";
        document.getElementById("sender").value = "";
        document.getElementById("subject").value = "";
        document.getElementById("user_dtls").value = "";
        console.log(res);
        alert("Your message sent successfully!!");

    })
    .catch(err=>console.log(err));

}

Como pouco ou nada sei de js e já andei a fazer muitas alterações na função js sendmail já não sei bem que pode ser, então não sei se além de criar o js e as celdas no html tenho de instalar alguma coisa além de chamar o emailjs em si. Se souberem agradeço.
 
Não conheço o emailjs, mas pelo que percebi tens de ter uma conta criada com eles, que por sua vez provavelmente precisa de estar integrada com um provider externo. Confirmas que tens isso feito?

Não sei se eles oferecem algum meio de teste, mas imagino que sim. Testaste e confirmaste que do lado do emailjs está tudo a funcionar?
Aliás, já vi que sim - https://www.emailjs.com/docs/user-guide/connecting-email-services/

Finalmente, a consola Javascript (developer tools do browser) diz-te alguma coisa? Apresenta algum erro?
 
@Minguno

Deverias fazer a captura do botão e depois criar um método dentro do código.

exemplo:
Código:
   private void enviaMail()
        {
            MailMessage mail = new MailMessage();
            SmtpClient smtp = new SmtpClient();

            mail.From = new MailAddress("[EMAIL][email protected][/EMAIL]");
            mail.To.Add(new MailAddress([EMAIL][email protected][/EMAIL]));
            mail.Subject = "Ativacao";
            mail.IsBodyHtml = true;

            mail.Body = $"A mensagem que vai ser enviada";

            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.Credentials = new NetworkCredential("[EMAIL][email protected][/EMAIL]", "palavra_passe_do_email");

            smtp.EnableSsl = true;
            smtp.Send(mail);
        }
 
Back
Topo