Example #1
0
 /// <summary>
 /// Initializes a new instance of GmailService
 /// </summary>
 /// <param name="gmailSetting"></param>
 /// <param name="logger"></param>
 /// <param name="stringLocalizer"></param>
 public GmailService(
     IOptions <GmailSettings> gmailSetting,
     ILogger <GmailService> logger,
     IStringLocalizer <GmailService> stringLocalizer
     )
 {
     _gmailSetting = gmailSetting.Value;
     _logger       = logger;
     S             = stringLocalizer;
 }
Example #2
0
            internal string GmailCheck(bool countOnly)
            {
                try
                {
                    //Change SSL checks so that all checks pass
                    ServicePointManager.ServerCertificateValidationCallback =
                        new RemoteCertificateValidationCallback(
                            delegate
                            { return(true); }
                            );

                    WebRequest webGmailRequest = WebRequest.Create(@"https://mail.google.com/mail/feed/atom");
                    webGmailRequest.PreAuthenticate = true;

                    var    gmailSettings    = new GmailSettings();
                    string gmailUser        = gmailSettings.Username;
                    string gmailPassword    = gmailSettings.Password;
                    var    loginCredentials = new NetworkCredential(gmailUser, gmailPassword);
                    webGmailRequest.Credentials = loginCredentials;

                    WebResponse webGmailResponse   = webGmailRequest.GetResponse();
                    Stream      strmUnreadMailInfo = webGmailResponse.GetResponseStream();

                    var sbUnreadMailInfo = new StringBuilder(); var buffer = new byte[8192]; int byteCount = 0;

                    while ((byteCount = strmUnreadMailInfo.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        sbUnreadMailInfo.Append(Encoding.ASCII.GetString(buffer, 0, byteCount));
                    }

                    var UnreadMailXmlDoc = new XmlDocument();
                    UnreadMailXmlDoc.LoadXml(sbUnreadMailInfo.ToString());
                    XmlNodeList UnreadMailEntries = UnreadMailXmlDoc.GetElementsByTagName("entry");

                    if (!countOnly)
                    {
                        string output = string.Empty;
                        for (int i = 0; i < UnreadMailEntries.Count; ++i)
                        {
                            output += string.Format("{0}\r\n", ("Message " + (i + 1) + "."));
                            output += string.Format("{0}\r\n", ("Subject: " + (UnreadMailEntries[i]["title"]).InnerText));
                            output += string.Format("{0}\r\n", ("From: " + (UnreadMailEntries[i]["author"])["name"].InnerText + " <" + (UnreadMailEntries[i]["author"])["email"].InnerText + ">"));
                            output += string.Format("{0}\r\n", ("Date: " + DateTime.Parse((UnreadMailEntries[i]["modified"]).InnerText)));
                        }
                        output += "Total: " + UnreadMailEntries.Count;
                        return(output);
                    }
                    return(UnreadMailEntries.Count.ToString());
                }
                catch
                {
                    return("0");
                }
            }
Example #3
0
 public HomeController(
     IOptions <GmailSettings> gmailSettings,
     IOptions <CaptchaSettings> captchaSettings,
     IWebHostEnvironment webHostEnvironment,
     IMailService mailService,
     CaptchaVerificationService verificationService)
 {
     this.gmailSettings       = gmailSettings.Value;
     this.captchaSettings     = captchaSettings.Value;
     this.webHostEnvironment  = webHostEnvironment;
     this.mailService         = mailService;
     this.verificationService = verificationService;
 }
Example #4
0
            internal string GmailCheck(bool countOnly)
            {
                try {
                    //Change SSL checks so that all checks pass
                    ServicePointManager.ServerCertificateValidationCallback =
                        new RemoteCertificateValidationCallback(
                            delegate { return true; }
                        );

                    WebRequest webGmailRequest = WebRequest.Create(@"https://mail.google.com/mail/feed/atom");
                    webGmailRequest.PreAuthenticate = true;

                    var gmailSettings = new GmailSettings();
                    string gmailUser = gmailSettings.Username;
                    string gmailPassword = gmailSettings.Password;
                    var loginCredentials = new NetworkCredential(gmailUser, gmailPassword);
                    webGmailRequest.Credentials = loginCredentials;

                    WebResponse webGmailResponse = webGmailRequest.GetResponse();
                    Stream strmUnreadMailInfo = webGmailResponse.GetResponseStream();

                    var sbUnreadMailInfo = new StringBuilder(); var buffer = new byte[8192]; int byteCount = 0;

                    while ((byteCount = strmUnreadMailInfo.Read(buffer, 0, buffer.Length)) > 0)
                        sbUnreadMailInfo.Append(Encoding.ASCII.GetString(buffer, 0, byteCount));

                    var UnreadMailXmlDoc = new XmlDocument();
                    UnreadMailXmlDoc.LoadXml(sbUnreadMailInfo.ToString());
                    XmlNodeList UnreadMailEntries = UnreadMailXmlDoc.GetElementsByTagName("entry");

                    if (!countOnly) {
                        string output = string.Empty;
                        for (int i = 0; i < UnreadMailEntries.Count; ++i) {
                            output += string.Format("{0}\r\n", ("Message " + (i + 1)));
                            output += string.Format("{0}\r\n", ("Subject: " + (UnreadMailEntries[i]["title"]).InnerText));
                            output += string.Format("{0}\r\n", ("From: " + (UnreadMailEntries[i]["author"])["name"].InnerText + " <" + (UnreadMailEntries[i]["author"])["email"].InnerText + ">"));
                            output += string.Format("{0}\r\n", ("Date: " + DateTime.Parse((UnreadMailEntries[i]["modified"]).InnerText)));
                        }
                        output += "Total: " + UnreadMailEntries.Count;
                        return output;
                    }
                    return UnreadMailEntries.Count.ToString();
                }
                catch {
                    return "0";
                }
            }
Example #5
0
        public static Application Create()
        {
            IConfiguration config = new ConfigurationBuilder()
                                    .AddJsonFile("config/appsettings.json", optional: false, reloadOnChange: true)
                                    .AddJsonFile("config/providers.json", optional: false, reloadOnChange: true)
                                    .Build();

            ProviderSettings providerSettings = config.GetSection("providerSettings").Get <ProviderSettings>();
            GmailSettings    gmailSettings    = config.GetSection("gmail").Get <GmailSettings>();

            FileProviderRepository repository = new FileProviderRepository();

            FileSystemProvider      fileSystemProvider      = new FileSystemProvider();
            GmailAttachmentProvider gmailAttachmentProvider = new GmailAttachmentProvider(gmailSettings);

            repository.Register(ProviderType.File, () => fileSystemProvider);
            repository.Register(ProviderType.Gmail, () => gmailAttachmentProvider);

            return(new Application(providerSettings.Providers, repository, gmailAttachmentProvider));
        }
Example #6
0
        public static GmailGateway Create(GmailSettings settings)
        {
            if (string.IsNullOrWhiteSpace(settings.Username))
            {
                throw new ArgumentNullException(nameof(settings.Username));
            }
            if (string.IsNullOrWhiteSpace(settings.Password))
            {
                throw new ArgumentNullException(nameof(settings.Password));
            }
            if (settings.Sender == null)
            {
                throw new ArgumentNullException(nameof(settings.Sender.Address));
            }
            if (string.IsNullOrWhiteSpace(settings.Sender.Address))
            {
                throw new ArgumentNullException(nameof(settings.Sender.Address));
            }

            return(new GmailGateway(settings));
        }
Example #7
0
 public HrAlertGmail(GmailSettings settings, DateTime alertDate) : base(settings)
 {
     _alertDate = alertDate;
 }
Example #8
0
 public ErrorNotificationGmail(GmailSettings settings) : base(settings)
 {
 }
Example #9
0
 protected WritableGmail(GmailSettings settings) : base(settings)
 {
 }
Example #10
0
 public SinnerGmail(GmailSettings settings, DateTime dateOfSin) : base(settings)
 {
     _dateOfSin = dateOfSin;
 }
Example #11
0
 private GmailGateway(GmailSettings settings)
 {
     _settings = settings;
 }
Example #12
0
 public MailService(IOptions <GmailSettings> gmailSettings, ILogger <MailService> logger)
 {
     this.gmailSettings = gmailSettings.Value;
     this.logger        = logger;
 }
Example #13
0
 protected Gmail(GmailSettings settings)
 {
     Settings = settings;
     Client   = new GmailClient();
 }
Example #14
0
 public AbsenceErrorGmail(GmailSettings settings) : base(settings)
 {
 }
 private void TrayIcon_GmailUserPass(object sender, EventArgs e)
 {
     GmailSettings gmailForm = new GmailSettings();
     gmailForm.Show();
 }