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 import get_database
|
||||||
from db.ckdb import get_ck_db, CKDrive
|
from db.ckdb import get_ck_db, CKDrive
|
||||||
|
|
||||||
|
|
||||||
from models.interview_zsgc import InterviewDo
|
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()
|
router = APIRouter()
|
||||||
|
|
||||||
@ -382,3 +381,46 @@ async def event_edit(
|
|||||||
"""
|
"""
|
||||||
await ckdb.execute(sql)
|
await ckdb.execute(sql)
|
||||||
return schemas.Msg(code=200, msg='ok', data='')
|
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:
|
class Config:
|
||||||
case_sensitive = True
|
case_sensitive = True
|
||||||
|
class Email(Settings):
|
||||||
|
my_sender = '250213850@qq.com' # 发件人邮箱账号
|
||||||
|
my_pass = 'whrsugtgkstibjdj' # 发件人邮箱密码
|
||||||
|
subject = '入职通知' # 邮件的主题,也可以说是标题
|
||||||
|
|
||||||
# class Debug(Settings):
|
# class Debug(Settings):
|
||||||
# MDB_HOST: str = '10.0.0.9'
|
# MDB_HOST: str = '10.0.0.9'
|
||||||
|
@ -64,3 +64,29 @@ api:/api/v1/itr/resume_affix
|
|||||||
参数:
|
参数:
|
||||||
uid: str # 面试者简历在CK中的唯一标识
|
uid: str # 面试者简历在CK中的唯一标识
|
||||||
resume_affix_id: List[str] # 附件id
|
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):
|
class get_uid(BaseModel):
|
||||||
uid: str # 面试者简历在CK中的唯一标识
|
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 time
|
||||||
import datetime
|
import datetime
|
||||||
import pandas as pd
|
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():
|
def get_uid():
|
||||||
@ -205,3 +210,27 @@ def qujian_time(start_time, end_time):
|
|||||||
"""
|
"""
|
||||||
timess = str(end_time).split(' ')[-1]
|
timess = str(end_time).split(' ')[-1]
|
||||||
return str(start_time) + '~' + timess
|
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