72 lines
2.1 KiB
C#
72 lines
2.1 KiB
C#
using Massmailer.Shared.Events;
|
|
using Massmailer.Shared.Logic;
|
|
using Massmailer.Shared.Model;
|
|
using PubSub;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Navigation;
|
|
using System.Windows.Shapes;
|
|
|
|
namespace Massmailer.UI
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for MainWindow.xaml
|
|
/// </summary>
|
|
public partial class MainView : Window
|
|
{
|
|
private readonly Hub hub = new Hub();
|
|
|
|
public MainView()
|
|
{
|
|
this.InitializeComponent();
|
|
this.hub.Subscribe<MailSentEvent>(this.MailSentEventHandler);
|
|
}
|
|
|
|
private async void Button_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
var smtpSettings = new SmtpSettings
|
|
{
|
|
Server = "localhost",
|
|
Port = 25,
|
|
Username = "test@test.local",
|
|
Password = "asdf33asdf",
|
|
UseSsl = false,
|
|
SenderEmail = "test@test.local",
|
|
SenderName = "Massmailer Test",
|
|
MaxSendRate = 60
|
|
};
|
|
var mailer = new Mailer(smtpSettings, this.hub);
|
|
var recipients = new List<string>
|
|
{
|
|
"1@test.local",
|
|
"2@test.local",
|
|
"3@test.local",
|
|
"4@test.local",
|
|
"5@test.local",
|
|
"6@test.local",
|
|
"7@test.local",
|
|
"8@test.local",
|
|
"9@test.local",
|
|
"10@test.local"
|
|
};
|
|
|
|
await mailer.SendMailsAsync(recipients, "Hello World Subject", "Hello World Body");
|
|
}
|
|
|
|
private void MailSentEventHandler(MailSentEvent mailSentEvent)
|
|
{
|
|
this.BtnSend.Content = $"mail sent: {mailSentEvent.Recipient} at {mailSentEvent.Timestamp}";
|
|
}
|
|
}
|
|
}
|