using MailKit.Net.Smtp;
using MimeKit;
using UnivateProperties_API.Model.Communication;
namespace UnivateProperties_API.Repository.Communication
{
public interface IMailRepository
{
void ContactUs(MailModel mm);
void EnquireNow(MailModel mm);
}
public class MailRepository : IMailRepository
{
MimeMessage messageObj = new MimeMessage();
MailboxAddress from;
MailboxAddress to;
BodyBuilder bodyBuilder = new BodyBuilder();
SmtpClient client = new SmtpClient();
public void ContactUs(MailModel mm)
{
string property = mm.Property;
string phone = mm.Phone;
string name = mm.Name;
string email = mm.Email;
string message = mm.Message;
from = new MailboxAddress("Admin", mm.FromAddress);
to = new MailboxAddress("User", mm.ToAddress);
messageObj.From.Add(from);
messageObj.To.Add(to);
messageObj.Subject = "Uni-Vate - New Contact Request";
bodyBuilder.HtmlBody = "
" +
"
Contact from: "+ name +"!
" +
"
Email: "+ email +"
" +
"
Phone: " + phone + "
" +
"
Property: " + property + "
" +
"
" +
"
Message:
" +
"
" + message + "
" +
"
" +
"
" +
"";
messageObj.Body = bodyBuilder.ToMessageBody();
client.Connect("smtp.gmail.com", 465, true);
client.Authenticate("jlouw365@gmail.com", "setskohatxpsceqo");
client.Send(messageObj);
client.Disconnect(true);
client.Dispose();
}
public void EnquireNow(MailModel mm)
{
string phone = mm.Phone;
string name = mm.Name;
string email = mm.Email;
string message = mm.Message;
from = new MailboxAddress("Admin", mm.FromAddress);
to = new MailboxAddress("User", mm.ToAddress);
messageObj.From.Add(from);
messageObj.To.Add(to);
messageObj.Subject = "Uni-Vate - Enquiry to view property";
bodyBuilder.HtmlBody = "" +
"
Contact from: " + name + "!
" +
"
Email: " + email + "
" +
"
Phone: " + phone + "
" +
"
" +
"
Message:
" +
"
" + message + "
" +
"
" +
"
" +
"";
messageObj.Body = bodyBuilder.ToMessageBody();
client.Connect("smtp.gmail.com", 465, true);
client.Authenticate("jlouw365@gmail.com", "setskohatxpsceqo");
client.Send(messageObj);
client.Disconnect(true);
client.Dispose();
}
}
}