Installation Of Postfix For Email Sending
Thu Dec 08 2022 07:49:53 GMT+0000 (Coordinated Universal Time)
Създаване на мейл сървър (SMTP) https://www.linuxbabe.com/mail-server/setup-basic-postfix-mail-sever-ubuntu https://ubuntu.tutorials24x7.com/blog/install-mail-server-on-ubuntu-20-04-lts-using-postfix-dovecot-and-roundcube # Виждаме името на хоста hostname -f # Променяме го при нужда да е както домейна (ihelp.bg) hostnamectl set-hostname <домейна> # Инсталация на Postfix (1 стъпка: Internet site, 2 стъпка: слагаме домейна) sudo apt-get update sudo apt-get install postfix -y # Проверяваме дали процеса слуша на порта sudo ss -lnpt | grep master # Тестваме изпращане на имейл echo "test email" | sendmail <някакъв Gmail или друг> # The inbox for each user is located at /var/spool/mail/<username> or /var/mail/<username> file. # If you are unsure where to look for the inbox, use this command: postconf mail_spool_directory # The Postfix mail log is stored at /var/log/mail.log. # За всеки поддомейн си създаваме потребител (noreply) adduser noreply парола: asdasd # Трябва да се добави и порта към firewall-a # Добавяне към накрая на файла: nano /etc/postfix/main.cf always_add_missing_headers = yes smtp_tls_security_level = may smtp_tls_CApath = /etc/ssl/certs smtpd_tls_CApath = /etc/ssl/certs # C# част public class EmailClient { public void SendEmail(SendEmailOptions options) { var emailConfig = Global.AppSettings.SmtpEmailConfig; using var client = new SmtpClient() { Host = emailConfig.Host, Port = emailConfig.HostPort, DeliveryMethod = SmtpDeliveryMethod.Network, }; using var mailMessage = new MailMessage { From = new MailAddress(options.EmailFrom), Subject = options.Subject, Body = options.Message, IsBodyHtml = options.IsBodyHtml, }; mailMessage.To.Add(string.Join(", ", options.EmailsTo)); client.Send(mailMessage); } } public class SendEmailOptions { public string EmailFrom { get; set; } = Global.AppSettings.SmtpEmailConfig.NoReplyEmail; public string Subject { get; set; } public string Message { get; set; } public bool IsBodyHtml { get; set; } = true; public List<string> EmailsTo { get; set; } = new List<string>(); public void AddEmailsToSend(params string[] emails) { this.EmailsTo.AddRange(emails); } } # Конфигурация "SmtpEmailConfig": { "OfficialEmail": "mail@ihelp.bg", "NoReplyEmail": "noreply@ihelp.bg", "Host": "164.138.217.194", "HostPort": 25 },
Comments