You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
3.5 KiB

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnDoc.Klassen
{
internal class clsMailer
{
public bool sendmail(int Mailtyp, string empfaenger, string betreff, string message, string dokumentid, string ondoclink, string absender, string bewilligungid)
{
string URL = AppParams.RESTURI + "API/SendMail?mailid=" + Mailtyp.ToString() + "&empfaenger=" + empfaenger + "&betreff=" + betreff + "&message=" + message + "&dokumentid=" + dokumentid + "&ondoclink=" + ondoclink + "&absender=" + absender + "&bewilligungid=" + bewilligungid;
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
webRequest.Method = WebRequestMethods.Http.Get;
webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey;
try
{
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
{
if (response.StatusCode == HttpStatusCode.OK)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
string responseContent = reader.ReadToEnd();
Logging.DocLog.Info("Empfanger" + empfaenger + " / Dokumentid:" + dokumentid, "OnDoc", dokumentid, "", "Mail versandt");
return true;
}
else
{
Logging.DocLog.Info("Empfanger" + empfaenger + " / Dokumentid:" + dokumentid, "OnDoc", dokumentid, "", "Mail nicht versandt");
return false;
}
}
}
catch (Exception ex)
{
Logging.DocLog.Info("Empfanger" + empfaenger + " / Dokumentid:" + dokumentid, "OnDoc", dokumentid, "", "Fehler:" + ex.Message);
return false;
}
}
public bool SendHTMLMail(Model.EMail mail)
{
string URL = AppParams.RESTURI + "API/SendHTMLMail";
Logging.Logging.Debug("Start Save Image", "OnDoc", "");
string response;
string jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(mail);
WebRequest request;
var data = Encoding.UTF8.GetBytes(jsonstring);
request = WebRequest.Create(URL);
request.ContentLength = data.Length;
request.ContentType = "application/json";
request.Method = "POST";
request.Headers["Authorization"] = "Bearer " + AppParams.apikey;
try
{
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(data, 0, data.Length);
requestStream.Close();
using (Stream responseStream = request.GetResponse().GetResponseStream())
{
using (var reader = new StreamReader(responseStream))
{
response = reader.ReadToEnd();
}
}
}
return true;
}
catch (Exception ex)
{
Logging.Logging.Debug("HTML-Mailversand Fehler:" + ex.Message, "OnDoc", "");
return false;
}
}
}
}