400 服务 ID 无效 emailJS

问题描述 投票:0回答:1

我目前在一个项目中使用 emailJS,但在发送电子邮件时遇到困难。每次我尝试发送电子邮件时,应用程序和 emailJS 仪表板中的任务都会失败。

我的仪表板内部出现错误: 400 服务ID无效。要查找此 ID,请访问 https://dashboard.emailjs.com/admin

我的控制台正在生成: 加载资源失败:服务器响应状态为412()

根据emailJS文档,语法应该是:

emailjs.send(serviceID, templateID, templateParams, publicKey);

我的ServiceID和templateID是正确的,因为它们已经被复制和粘贴了。

我尝试过寻找其他形式的语法,但没有找到。有想过如何解决这个问题吗?感谢您的反馈。

类似的 StackOverflow 问题: 这个问题非常相似,我更改了我的ServiceID以适应它建议的语法,但是,我仍然有同样的问题。

import { useState, useEffect, useRef } from 'react'
import emailJs from '@emailjs/browser'

const Contact = () => {
    const form = useRef()

    const sendEmail = (e) => {
        e.preventDefault()

        emailJs.sendForm(
            'service_gqp7he5',
            'template_6ufyan1',
            form.current,
            'C1NQS6PIhSTNngfAj'
        )
        .then (() => {
            alert('Message Successfully Sent')
        },
        () => {
            alert('Failed to send the message, please try again!')
            console.log();
        })
    }

    useEffect(() => {
        setTimeout(() => {
            setLetterClass('text-animate-hover')
        }, 3000)
    }, [])

    return (
        <>
            <div className='container contact-page' >
                <div className='text-zone' >
                    <div className='contact-form'>
                        <form ref={form} onSubmit={sendEmail} >
                            <ul>
                                <li className='half'>
                                    <input type='text' name='name' placeholder='Name' required />
                                </li>

                                <li className='half'>
                                    <input type='email' name='email' placeholder='[email protected]' required />
                                </li>

                                <li>
                                    <input type='text' name='subject' placeholder='Subject' required />
                                </li>

                                <li>
                                    <textarea placeholder='Message' name='message' required ></textarea>
                                </li>

                                <li>
                                    <input type='submit' className='flat-button' value='SEND' />
                                </li>
                            </ul>
                        </form>
                    </div>
                </div>
            </div>
        </>
    )
}

export default Contact 
    <script type="text/javascript"
    src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js">
    </script>
    <script type="text/javascript">
      (function(){
        emailjs.init("C1NQS6PIhSTNngfAj");
      })();
    </script>

reactjs html-email
1个回答
0
投票

出现该错误是因为每次访问该页面时EmailJS模板ID都会发生变化。为了解决这个问题,您需要自定义模板ID。例如,将

template_23fsds3
更改为
template_contact
。这将消除错误。

© www.soinside.com 2019 - 2024. All rights reserved.