1.获取要发送的邮件文本内容
2.发送邮件
This commit is contained in:
parent
063645e0a1
commit
dd26a12fad
@ -10,9 +10,8 @@ from core.configuration import *
|
||||
from db import get_database
|
||||
from db.ckdb import get_ck_db, CKDrive
|
||||
|
||||
|
||||
from models.interview_zsgc import InterviewDo
|
||||
from utils import get_time, qujian_time, Download_xlsx
|
||||
from utils import get_time, qujian_time, Download_xlsx, send_str_mail
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@ -382,3 +381,46 @@ async def event_edit(
|
||||
"""
|
||||
await ckdb.execute(sql)
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/updata_entry")
|
||||
async def event_edit(
|
||||
request: Request,
|
||||
data_in: schemas.Entry,
|
||||
ckdb: CKDrive = Depends(get_ck_db)
|
||||
) -> schemas.Msg:
|
||||
"""修改入职状态"""
|
||||
sql = f"""
|
||||
ALTER table HR.resumes update interview_stage = {data_in.interview_stage} WHERE uid = '{data_in.uid}'
|
||||
"""
|
||||
await ckdb.execute(sql)
|
||||
return schemas.Msg(code=200, msg='ok', data='')
|
||||
|
||||
|
||||
@router.post("/get_str_mail")
|
||||
async def event_edit(
|
||||
request: Request,
|
||||
data_in: schemas.Email_str,
|
||||
ckdb: CKDrive = Depends(get_ck_db)
|
||||
) -> schemas.Msg:
|
||||
"""获取邮件文本"""
|
||||
data = f"""
|
||||
{data_in.name},您好\n\n感谢关注乐谷在线科技有限公司!很高兴的通知您通过了我们的面试,真诚的邀请您加入我们的团队\n职位:{data_in.job}\n入职时间:{data_in.times}
|
||||
\n薪酬:{data_in.money}\n联系人:{data_in.hr_name}\n联系电话:{data_in.phone}\n联系邮箱:{data_in.email}\n\n如有问题请用以上联系方式及时与我们沟通,谢谢!\n(系统邮件,请勿回复)
|
||||
"""
|
||||
return schemas.Msg(code=200, msg='ok', data=data)
|
||||
|
||||
|
||||
@router.post("/send_str_mail")
|
||||
async def event_edit(
|
||||
request: Request,
|
||||
data_in: schemas.send_str_mail,
|
||||
ckdb: CKDrive = Depends(get_ck_db)
|
||||
) -> schemas.Msg:
|
||||
"""发送邮件"""
|
||||
data=send_str_mail(data_in.email_str,data_in.email)
|
||||
if data:
|
||||
return schemas.Msg(code=200, msg='邮件发送成功', data='')
|
||||
else:
|
||||
return schemas.Msg(code=200, msg='邮件发送失败', data='')
|
||||
|
||||
|
@ -389,7 +389,10 @@ class Settings(BaseSettings):
|
||||
|
||||
class Config:
|
||||
case_sensitive = True
|
||||
|
||||
class Email(Settings):
|
||||
my_sender = '250213850@qq.com' # 发件人邮箱账号
|
||||
my_pass = 'whrsugtgkstibjdj' # 发件人邮箱密码
|
||||
subject = '入职通知' # 邮件的主题,也可以说是标题
|
||||
|
||||
# class Debug(Settings):
|
||||
# MDB_HOST: str = '10.0.0.9'
|
||||
|
@ -64,3 +64,29 @@ api:/api/v1/itr/resume_affix
|
||||
参数:
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
resume_affix_id: List[str] # 附件id
|
||||
|
||||
#修改入职状态
|
||||
api:/api/v1/itr/updata_entry
|
||||
请求方式:post
|
||||
参数:
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
interview_stage: int # 修改入职状态 6代表放弃入职,7代表已入职
|
||||
|
||||
#获取要发送的邮件文本
|
||||
api:/api/v1/itr/get_str_mail
|
||||
请求方式:post
|
||||
参数:
|
||||
name: str # 求职者名字
|
||||
job: str # 应聘的职位
|
||||
times: str # 入职时间
|
||||
money: str # 薪资
|
||||
hr_name: str # hr联系人
|
||||
phone: str # hr联系电话
|
||||
email: str # hr邮箱
|
||||
|
||||
#发送邮件
|
||||
api:/api/v1/itr/send_str_mail
|
||||
请求方式:post
|
||||
参数:
|
||||
email: str # 接收者的邮箱
|
||||
email_str: str # 需要发送的文本内容
|
@ -30,3 +30,23 @@ class Post_uid(BaseModel):
|
||||
|
||||
class get_uid(BaseModel):
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
|
||||
|
||||
class Entry(BaseModel):
|
||||
uid: str # 面试者简历在CK中的唯一标识
|
||||
interview_stage: int # 修改入职状态
|
||||
|
||||
|
||||
class Email_str(BaseModel):
|
||||
name: str # 求职者名字
|
||||
job: str # 应聘的职位
|
||||
times: str # 入职时间
|
||||
money: str # 薪资
|
||||
hr_name: str # hr联系人
|
||||
phone: str # hr联系电话
|
||||
email: str # hr邮箱
|
||||
|
||||
|
||||
class send_str_mail(BaseModel):
|
||||
email: str # 接收者的邮箱
|
||||
email_str: str # 需要发送的文本内容
|
||||
|
@ -2,6 +2,11 @@ import random
|
||||
import time
|
||||
import datetime
|
||||
import pandas as pd
|
||||
import smtplib
|
||||
from email.mime.text import MIMEText
|
||||
from email.utils import formataddr
|
||||
|
||||
from core.config import Email
|
||||
|
||||
|
||||
def get_uid():
|
||||
@ -205,3 +210,27 @@ def qujian_time(start_time, end_time):
|
||||
"""
|
||||
timess = str(end_time).split(' ')[-1]
|
||||
return str(start_time) + '~' + timess
|
||||
|
||||
|
||||
# 发送的文本邮件
|
||||
def send_str_mail(str_msg, my_user):
|
||||
"""
|
||||
发送的文本邮件
|
||||
:param str_msg: 发送的邮件内容
|
||||
:param my_user: 接收者的邮箱
|
||||
:return: bool
|
||||
"""
|
||||
try:
|
||||
msg = MIMEText(str_msg, 'plain', 'utf-8')
|
||||
msg['From'] = formataddr(["乐谷游戏人事", Email.my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号
|
||||
msg['To'] = formataddr(["FK", my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号
|
||||
msg['Subject'] = Email.subject # 邮件的主题,也可以说是标题
|
||||
|
||||
server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是25
|
||||
server.login(Email.my_sender, Email.my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码
|
||||
# server.sendmail(my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
|
||||
server.sendmail(Email.my_sender, [my_user, ], msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
|
||||
server.quit() # 关闭连接
|
||||
return True
|
||||
except Exception as e: # 如果 try 中的语句没有执行,则会执行下面的 False
|
||||
return False
|
||||
|
Loading…
Reference in New Issue
Block a user