Flutter 网页联系人表单EmailJs(发送空邮件)

xqkwcwgp  于 2023-02-25  发布在  Flutter
关注(0)|答案(2)|浏览(189)

我试图在Flutter Web中创建一个投资组合,然后我想添加一个联系表单。我使用了EmailJS。当我点击“发送”按钮时,我收到电子邮件,但它们是空白的...
我该怎么做,你能帮我吗?

这是我代码的一部分

Padding(
                          padding: const EdgeInsets.symmetric(vertical: 8),
                          child: TextField(
                            controller: messageController,
                            style: const TextStyle(color: Colors.white),
                            minLines: 10,
                            maxLines: 15,
                            decoration: const InputDecoration(
                                hintText: 'Enter Your Message',
                                hintStyle: TextStyle(color: Colors.grey),
                                border: OutlineInputBorder(
                                  borderSide: BorderSide(
                                    color: Color(0xFF66FcF1),
                                  ),
                                ),
                                contentPadding: EdgeInsets.all(10.0)),
                          ),
                        ),
                        Row(
                          children: [
                            Expanded(
                              child: OutlinedButton(
                                onPressed: () {
                                  sendEmail(
                                      email: '',
                                      message: '',
                                      name: '',
                                      subject: '');
                                },
                                child: const Padding(
                                  padding: EdgeInsets.all(8.0),
                                  child: Text(
                                    'Submit',
                                    style: TextStyle(
                                      color: Color(0xFF66FcF1),
                                      fontSize: 16,
                                    ),
                                  ),
                                ),
                              ),
                            ),
                          ],
                        ),
i5desfxk

i5desfxk1#

你发送的是空字符串

sendEmail(
 email: '',
 message: '',
 name: '',
 subject: '');
},

试试用TextFormField()。不要忘记你必须定义输入的控制器来获取你的字符串。然后它应该工作了。

Form(
   key: _formKey,    
     TextFormField(
      controller: controllerMensagem,
      validator: (value) {
       if (value == null || value.isEmpty) {
         return '*required';
       }
      return null;
      },
     ),
   ),
qlvxas9a

qlvxas9a2#

自从您的消息发送后,一切都正常,除了在message: ' ',行您没有添加应该发送的消息内容。
解决办法是这样的

onPressed: () {
               sendEmail(
               email: '',
               message: _messageController.text.trim(),
               name: '',
               subject: '');
     },

我还建议您提供字段来填充所有其他字段,以获得更好的最终用户体验。

相关问题