You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity中使用C#脚本实现点击按钮发送问卷结果邮件?

实现点击按钮发送问卷结果邮件的方案

无需额外下载库的原生实现(解决库下载失败问题)

.NET框架自带System.Net.Mail命名空间,完全不需要安装第三方库,直接就能实现邮件发送功能,适配你的场景。以下是具体步骤(以WinForms为例,WPF逻辑一致):

  1. 收集问卷结果
    从你的问卷控件(文本框、单选框、复选框等)中提取用户填写的内容,拼接成邮件正文。

  2. 编写按钮点击事件代码
    在按钮的Click事件中添加如下代码:

using System.Net;
using System.Net.Mail;
using System.Windows.Forms;

private void btnSubmitSurvey_Click(object sender, EventArgs e)
{
    // 1. 收集问卷数据,根据你的控件自行调整
    string surveyContent = $"用户姓名:{txtUserName.Text}\n" +
                           "问卷选项:\n" +
                           $"Q1满意度:{radioGroupSatisfaction.SelectedText}\n" +
                           $"Q2建议:{txtAdvice.Text}";

    // 2. 邮件基础配置
    string senderEmail = "你的发送邮箱@example.com";
    string receiverEmail = "接收问卷的邮箱@example.com";
    string smtpServer = "smtp.example.com"; // 对应邮箱的SMTP服务器,比如QQ邮箱是smtp.qq.com
    int smtpPort = 587; // 常用端口,QQ/163等邮箱一般用587
    string authCode = "你的邮箱SMTP授权码"; // 注意:不是邮箱登录密码,是SMTP授权码

    // 3. 构建邮件
    MailMessage mail = new MailMessage(senderEmail, receiverEmail)
    {
        Subject = "新的问卷提交结果",
        Body = surveyContent,
        IsBodyHtml = false // 若要发送HTML格式邮件,改为true
    };

    // 4. 配置SMTP客户端
    SmtpClient smtpClient = new SmtpClient(smtpServer, smtpPort)
    {
        Credentials = new NetworkCredential(senderEmail, authCode),
        EnableSsl = true // 开启SSL加密,大部分邮箱要求必须开启
    };

    // 5. 发送邮件并处理结果
    try
    {
        smtpClient.Send(mail);
        MessageBox.Show("问卷已成功发送!");
    }
    catch (Exception ex)
    {
        MessageBox.Show($"发送失败:{ex.Message}");
    }
    finally
    {
        // 释放资源
        mail.Dispose();
        smtpClient.Dispose();
    }
}
  1. 关键注意事项
  • SMTP授权码获取:登录你的邮箱(如QQ/163),在设置中找到「POP3/SMTP服务」并开启,然后生成授权码,用这个授权码代替登录密码。
  • 端口与加密:不同邮箱的SMTP服务器和端口不同,比如QQ邮箱是smtp.qq.com:587,163邮箱是smtp.163.com:587,必须开启EnableSsl=true。
  • 防火墙/杀毒软件:确保你的电脑没有拦截SMTP端口的出站请求,否则会发送失败。

若仍想使用第三方库(解决NuGet下载失败问题)

如果之前尝试下载MailKit等库失败,大概率是NuGet源配置问题:

  • 打开Visual Studio的「工具」→「NuGet包管理器」→「包管理器设置」,检查包源是否包含官方源https://api.nuget.org/v3/index.json,若没有则添加。
  • 若网络不稳定,可手动到NuGet官网下载对应库的.nupkg文件,然后通过「本地包源」安装。

内容的提问来源于stack exchange,提问作者SomeoneIDK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:10:24