feat: publish dbussmsforward refactor
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
using DbusSmsForward.SMSModel;
|
||||
using DbusSmsForward.ProcessSmsContent;
|
||||
using DbusSmsForward.Helper;
|
||||
using DbusSmsForward.SettingModel;
|
||||
using MimeKit;
|
||||
using MailKit.Net.Smtp;
|
||||
|
||||
namespace DbusSmsForward.SendMethod
|
||||
{
|
||||
public static class SendByEmail
|
||||
{
|
||||
public static void SetupEmailInfo()
|
||||
{
|
||||
appsettingsModel result = new appsettingsModel();
|
||||
ConfigHelper.GetSettings(ref result);
|
||||
string smtpHost = result.appSettings.EmailConfig.smtpHost;
|
||||
string smtpPort = result.appSettings.EmailConfig.smtpPort;
|
||||
string emailKey = result.appSettings.EmailConfig.emailKey;
|
||||
string sendEmail = result.appSettings.EmailConfig.sendEmail;
|
||||
string reciveEmail = result.appSettings.EmailConfig.reciveEmail;
|
||||
if (string.IsNullOrEmpty(smtpHost) && string.IsNullOrEmpty(smtpPort) && string.IsNullOrEmpty(emailKey) && string.IsNullOrEmpty(sendEmail) && string.IsNullOrEmpty(reciveEmail))
|
||||
{
|
||||
Console.WriteLine("首次运行请输入邮箱转发相关配置信息\n请输入smtp地址:");
|
||||
smtpHost = Console.ReadLine().Trim();
|
||||
result.appSettings.EmailConfig.smtpHost = smtpHost;
|
||||
|
||||
Console.WriteLine("请输入smtp端口:");
|
||||
smtpPort = Console.ReadLine().Trim();
|
||||
result.appSettings.EmailConfig.smtpPort = smtpPort;
|
||||
string sslEnableInput = string.Empty;
|
||||
do
|
||||
{
|
||||
Console.WriteLine("是否需要启用ssl(1.启用 2.不启用)");
|
||||
sslEnableInput = Console.ReadLine().Trim();
|
||||
} while (!(sslEnableInput == "1" || sslEnableInput == "2"));
|
||||
if (sslEnableInput == "1")
|
||||
{
|
||||
result.appSettings.EmailConfig.enableSSL = "true";
|
||||
}
|
||||
else
|
||||
{
|
||||
result.appSettings.EmailConfig.enableSSL = "false";
|
||||
}
|
||||
Console.WriteLine("请输入邮箱密钥:");
|
||||
emailKey = Console.ReadLine().Trim();
|
||||
result.appSettings.EmailConfig.emailKey = emailKey;
|
||||
|
||||
Console.WriteLine("请输入发件邮箱:");
|
||||
sendEmail = Console.ReadLine().Trim();
|
||||
result.appSettings.EmailConfig.sendEmail = sendEmail;
|
||||
|
||||
Console.WriteLine("请输入收件邮箱:");
|
||||
reciveEmail = Console.ReadLine().Trim();
|
||||
result.appSettings.EmailConfig.reciveEmail = reciveEmail;
|
||||
|
||||
ConfigHelper.UpdateSettings(ref result);
|
||||
}
|
||||
result = null;
|
||||
}
|
||||
|
||||
public static void SendSms(SmsContentModel smsmodel, string body, string devicename)
|
||||
{
|
||||
try
|
||||
{
|
||||
appsettingsModel result = new appsettingsModel();
|
||||
ConfigHelper.GetSettings(ref result);
|
||||
string smtpHost = result.appSettings.EmailConfig.smtpHost;
|
||||
string smtpPort = result.appSettings.EmailConfig.smtpPort;
|
||||
bool enableSSL = Convert.ToBoolean(result.appSettings.EmailConfig.enableSSL);
|
||||
string emailKey = result.appSettings.EmailConfig.emailKey;
|
||||
string sendEmail = result.appSettings.EmailConfig.sendEmail;
|
||||
string reciveEmail = result.appSettings.EmailConfig.reciveEmail;
|
||||
result = null;
|
||||
var message = new MimeMessage();
|
||||
message.From.Add(new MailboxAddress("SMSForwad", sendEmail));
|
||||
message.To.Add(new MailboxAddress("", reciveEmail));
|
||||
//string SmsCodeStr = GetSmsContentCode.GetSmsCodeStr(smsmodel.SmsContent);
|
||||
SmsCodeModel codeResult = GetSmsContentCode.GetSmsCodeModel(smsmodel.SmsContent);
|
||||
|
||||
message.Subject = (string.IsNullOrEmpty(codeResult.CodeValue) ? "" : codeResult.CodeValue + " ") + "短信转发" + smsmodel.TelNumber;
|
||||
message.Body = new TextPart("plain")
|
||||
{
|
||||
Text = body
|
||||
};
|
||||
using (var client = new SmtpClient())
|
||||
{
|
||||
client.Connect(smtpHost, Convert.ToInt32(smtpPort), enableSSL);
|
||||
client.Authenticate(sendEmail, emailKey);
|
||||
client.Send(message);
|
||||
client.Disconnect(true);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine("SendByEmailError:\n" + ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user