public void Mail(MailCreateDto mailCreateDto, string body)
        {
            MailMessage msg = new MailMessage();

            msg.Subject = mailCreateDto.Subject;
            msg.From    = new MailAddress("*****@*****.**", "uğur mamak");//burası hep böyle kalmalı

            //msg.To.Add(new MailAddress("*****@*****.**", "uğur mamak"));//mesajın gittiği adres
            msg.To.Add(new MailAddress(mailCreateDto.Mail, mailCreateDto.Name));//mesajın gittiği adres

            msg.Body = body;

            msg.IsBodyHtml = true;
            msg.Priority   = MailPriority.High;

            if (mailCreateDto.File != null)
            {
                Attachment data = new Attachment(mailCreateDto.File.OpenReadStream(), mailCreateDto.File.FileName);
                msg.Attachments.Add(data);
            }
            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);

            smtp.Credentials = CredentialCache.DefaultNetworkCredentials;
            NetworkCredential AccountInfo = new NetworkCredential("*****@*****.**", "134ugur2163");//alan kişi

            smtp.UseDefaultCredentials = false;
            smtp.Credentials           = AccountInfo;
            smtp.EnableSsl             = true;
            smtp.DeliveryMethod        = SmtpDeliveryMethod.Network;
            smtp.Send(msg);
        }
Example #2
0
        public async Task <IActionResult> SendMail([FromForm] MailCreateDto mailCreateDto)
        {
            try
            {
                string body = "<b>Ad Soyad:</b>" + mailCreateDto.Name + "<br/>" + "<b>Mail adresim:</b>" + mailCreateDto.Mail + "<br/>" + mailCreateDto.Content;
                mailCreateDto.Mail = "*****@*****.**";
                mailCreateDto.Name = "uğur mamak";
                SendMail send = new SendMail();
                send.Mail(mailCreateDto, body);
            }
            catch (Exception ex)
            {
                return(BadRequest("Mesaj iletirken hata oluştu."));

                throw ex;
            }
            return(Ok("Mesajınız iletildi"));
        }
Example #3
0
        public async Task <string> ValidateCredentials(MailCreateDto mailCreateDto)
        {
            try
            {
                using (var imapClient = new ImapClient())
                {
                    imapClient.CheckCertificateRevocation = false;
                    await imapClient.ConnectAsync(mailCreateDto.Server, ImapPort, true);

                    await imapClient.AuthenticateAsync(mailCreateDto.Name, mailCreateDto.Password);
                }
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }

            return(default);
Example #4
0
        private async void submitButton_Click(object sender, EventArgs e)
        {
            var mailCreateDto = new MailCreateDto
            {
                Server   = serverTextBox.Text,
                Name     = nameTextBox.Text,
                Password = passwordTextBox.Text
            };

            loadingLabel.Visible = true;
            panel1.Visible       = false;
            var addMailError = await AddMail(mailCreateDto);

            loadingLabel.Visible = false;
            panel1.Visible       = true;
            if (addMailError != default)
            {
                MessageBox.Show(addMailError);
                return;
            }

            Hide();
        }
Example #5
0
        private async Task <string> AddMail(MailCreateDto mailCreateDto)
        {
            var validationError = await _imapService.ValidateCredentials(mailCreateDto);

            if (validationError != default)
            {
                return(validationError);
            }

            if (_userDto.Mails.FirstOrDefault(mail => mail.Name == mailCreateDto.Name) != null)
            {
                return($"{mailCreateDto.Name} is already added to the list");
            }

            var result = await _mailService.AddMail(_userDto.Username, mailCreateDto);

            if (!result)
            {
                return("Failed to add mail");
            }

            await UpdateInterface();

            return(default);
Example #6
0
        [HttpPost("register")] //kullanıcı bilgileri ve resim bilgisi gelmektedir.
                               // public async Task<IActionResult> Register([FromForm] IFormFile image, [FromForm] UserForRegisterDto userForRegisterDto)
        public async Task <IActionResult> Register([FromForm] UserForRegisterDto userForRegisterDto)
        {
            var userExists = _authService.UserExists(userForRegisterDto.Email);//Kullanıcının girdiği email bilgisinin Db'de olup olamdığını kontrol ettik.

            //userExists'in geridönüş değeri SuccessResult'tır. Buradan işlemin başarılı olup olmadığını kontrol edebiliriz.
            if (!userExists.Success)
            {
                return(BadRequest(userExists.Message));
            }

            string Id        = Guid.NewGuid().ToString();                           //resimlere guid Id şeklinde isim ataması yaptım.
            var    resimler  = Path.Combine(_environment.WebRootPath, "userImage"); //dizin bilgisi
            string imageName = $"{Id}.jpg";                                         //Db ye kaydedilecek olan resimlerin ismi

            if (userForRegisterDto.Image == null)
            {
                //return BadRequest("Resim Bilgisi Boş");
                imageName = "profileImage.jpg";
            }

            string password = "";

            if (userForRegisterDto.processType == "SystemAdmin")
            {
                RandomPassword pass = new RandomPassword();
                password = pass.password();
                userForRegisterDto.Password = password;
            }

            var registerResult = _authService.Register(userForRegisterDto, userForRegisterDto.Password, imageName);
            var result         = _authService.CreateAccessToken(registerResult.Data);//registerResult'ın döndüğü Data(User) bilgisini token üretmek için parametre olarak verdim.

            if (userForRegisterDto.Image != null)
            {
                if (userForRegisterDto.Image.Length > 0)
                {
                    using (var fileStream = new FileStream(Path.Combine(resimler, imageName), FileMode.Create))
                    {
                        await userForRegisterDto.Image.CopyToAsync(fileStream);
                    }
                }
            }

            if (registerResult.Success)
            {
                if (password != "")
                {
                    string body = "Merhaba " + userForRegisterDto.FirstName + " " + userForRegisterDto.LastName + "<br/>" + " Başvurunuz dikkate alınarak size hesap oluşturulmuştur." +
                                  "  Sisteme giriş yapmak için <br/> bize iletmiş olduğunuz mail adresini:" + "<b>" + userForRegisterDto.Email + "</b>" + "<br/> ve şifre olarak: " + "<b>" + password + "<b/><br/>" + "kullanabilirsiniz." +
                                  "<br/>Sisteme giriş yaptıktan sonra profil resminizi ve şifrenizi güncelleyebilirsiniz.";

                    MailCreateDto gonder = new MailCreateDto {
                        Content = body,
                        Mail    = userForRegisterDto.Email,
                        Name    = userForRegisterDto.FirstName + " " + userForRegisterDto.LastName,
                        Subject = "Adminlik ve Opetatör başvurusu"
                    };

                    SendMail send = new SendMail();
                    send.Mail(gonder, body);
                }
                return(Ok(result.Data));
            }
            return(BadRequest(result.Message));
        }