File size: 2,249 Bytes
22238dd
6c5b1c7
 
22238dd
 
6c5b1c7
22238dd
 
6c5b1c7
 
 
22238dd
6c5b1c7
 
 
22238dd
 
6c5b1c7
22238dd
 
 
 
6c5b1c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c895483
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6c5b1c7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import streamlit as st
import smtplib
from email.mime.text import MIMEText

# 添加标题
st.title('User Study')

# 添加问题和选项
question_1 = st.text_input('question 1:')
option_1_1 = st.checkbox('option 1', key='question_1_option_1')
option_1_2 = st.checkbox('option 2', key='question_1_option_2')

question_2 = st.text_input('question 2:')
option_2_1 = st.checkbox('option 1', key='question_2_option_1')
option_2_2 = st.checkbox('option 2', key='question_2_option_2')

# 显示提交按钮
submit_button = st.button('submit')

# 创建一个字典来存储用户答案
user_answers = {}

def send_email(user_data):
    # 邮件配置
    sender_email = 'BachelorThesisT@outlook.com'
    receiver_email = 'taijunzhe@gmail.com'
    subject = '用户数据'
    message = format_user_data(user_data)

    # 创建 MIMEText 对象
    msg = MIMEText(message)
    msg['Subject'] = subject
    msg['From'] = sender_email
    msg['To'] = receiver_email

    # 发送邮件
    try:
        with smtplib.SMTP('smtp.office365.com', 587) as smtp:
            smtp.starttls()
            smtp.login('BachelorThesisT@outlook.com', '1111122222t')
            smtp.send_message(msg)
        print('邮件发送成功')
    except smtplib.SMTPException as e:
        print('邮件发送失败:', str(e))

def format_user_data(user_data):
    # 格式化用户数据为邮件内容
    formatted_data = ''
    for key, value in user_data.items():
        formatted_data += f'{key}: {value}\n'
    return formatted_data

# 处理提交按钮的点击事件
if submit_button:
    # 存储用户的答案
    user_answers['question 1'] = {
        'option 1': option_1_1,
        'option 2': option_1_2
    }
    
    user_answers['question 2'] = {
        'option 1': option_2_1,
        'option 2': option_2_2
    }
    
    # 打印用户的答案
    st.write('提交的答案是:')
    for question, options in user_answers.items():
        st.write(question)
        for option, value in options.items():
            if value:
                st.write(f'- {option}')

    # 模拟用户数据
    user_data = user_answers

    # 发送邮件
    send_email(user_data)

    # 显示感谢信息或其他处理
    st.write('谢谢参与调查!')