Postfix configuraton, writed after postfix admin book.
master.cf:
strict_rfc821_envelopes = yes
strict_mime_encoding_domain = no
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_banner = $myhostname
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 5
smtpd_hard_error_limit = 10
smtpd_recipient_restrictions =
reject_non_fqdn_sender
reject_non_fqdn_recipient
reject_unknown_sender_domain
reject_unknown_recipient_domain
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
reject_non_fqdn_helo_hostname
reject_invalid_helo_hostname
check_helo_access pcre:/etc/postfix/helo_checks
check_sender_mx_access cidr:/etc/postfix/bogus_mx
reject_unknown_helo_hostname
reject_rbl_client bl.spamcop.net
reject_rbl_client sbl.spamhaus.org=127.0.0.2
reject_rbl_client cbl.abuseat.org=127.0.0.2
reject_rbl_client dnsbl.sorbs.net
reject_rbl_client dnsbl.njabl.org
check_policy_service inet:127.0.0.1:60000
permit
smtpd_data_restrictions =
reject_multi_recipient_bounce
smtpd_client_restrictions =
permit_mynetworks
check_client_access hash:/etc/postfix/sender_checks
permit
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
helo_checks:
/^ns2\.parmatel\.ru$/ 550 Don't use my hostname!
/^mail\.parmatel\.ru$/ 550 Don't use my hostname!
/^194\.8\.68\.3$/ 550 Don't use my IP-address!
/^\[194\.8\.68\.3\]$/ 550 Don't use my IP-address!
/^[0-9.]+$/ 550 Use hostname, not IP address!
/^CO-VRT-021\.elfnet\.local$/ OK
/^preved\.aup\.komienergo\.ru$/ OK
/^srv-sbs\.evrokniga\.ru$/ OK
несколько океев - чтобы принимать почту с криво настроенных почтовиков -
обратная зона у которых указывает на адрес, разресолвить который не удается
bogus_mx: тут всё стандартно
#bogus networks
0.0.0.0/8 550 Mail server in broadcast network!
10.0.0.0/8 550 RFC1918 private network, no route!
172.16.0.0/12 550 RFC1918 private network, no route!
192.168.0.0/16 550 RFC1918 private network, no route!
127.0.0.0/8 550 Mail server in loopback network!
sender_checks:
89.111.164: 401 Network 89.11.164 rejected!
когда-то вылезла спамерская подсетка - закрыл всю.
четверг, 20 марта 2014 г.
суббота, 8 марта 2014 г.
Отправка писем из python 3.3.4 через gmail
Привожу скрипт для отправки писем из python через smtp.google.com.
Необходима авторизация, как настроить описано тут. После настройки дадут пароль, который надо прописать в скрипт.
Скрипт использует файл. Кодировка содержимого файла utf-8. В первых 5 строках файла содержится, собственно, письмо. В последующих - csv данные с адресом, комментарием и именем получателя.
Кодировка файла скрипта тоже utf-8.
# coding=utf-8
#логин на сервер осуществляется для каждого письма, потому что,
#видимо, нельзя отправить больше 10 писем за одно подключение.
import smtplib
from email.mime.text import MIMEText
from datetime import date
from email.header import Header
from_addr = 'kutchin@gmail.com'
username = from_addr
password = 'kmtwvsotmwolxjgl'
with open('C:/Python33/_progz/emails.csv', 'r', encoding='UTF8') as f:
hello_text = f.readline().strip()
text1 = f.readline().strip()
text2 = f.readline().strip()
text3 = f.readline().strip()
text4 = f.readline().strip()
for ln in f:
email, undef, name = ln.strip().split(',')
#тут заменяем адрес электронной почты на свой на всякий случай
email = from_addr
text = "{0} {1}!\n{2}\n{3}\n{4}\n\n{5}".format(hello_text, name, text1, text2, text3, text4)
print (email, text)
msg = MIMEText(text)
msg['Subject'] = Header('запрос информации по продукту', 'utf-8').encode()
msg['To'] = email
msg['From'] = from_addr
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(from_addr, email, msg.as_string())
server.quit
Необходима авторизация, как настроить описано тут. После настройки дадут пароль, который надо прописать в скрипт.
Скрипт использует файл. Кодировка содержимого файла utf-8. В первых 5 строках файла содержится, собственно, письмо. В последующих - csv данные с адресом, комментарием и именем получателя.
Кодировка файла скрипта тоже utf-8.
# coding=utf-8
#логин на сервер осуществляется для каждого письма, потому что,
#видимо, нельзя отправить больше 10 писем за одно подключение.
import smtplib
from email.mime.text import MIMEText
from datetime import date
from email.header import Header
from_addr = 'kutchin@gmail.com'
username = from_addr
password = 'kmtwvsotmwolxjgl'
with open('C:/Python33/_progz/emails.csv', 'r', encoding='UTF8') as f:
hello_text = f.readline().strip()
text1 = f.readline().strip()
text2 = f.readline().strip()
text3 = f.readline().strip()
text4 = f.readline().strip()
for ln in f:
email, undef, name = ln.strip().split(',')
#тут заменяем адрес электронной почты на свой на всякий случай
email = from_addr
text = "{0} {1}!\n{2}\n{3}\n{4}\n\n{5}".format(hello_text, name, text1, text2, text3, text4)
print (email, text)
msg = MIMEText(text)
msg['Subject'] = Header('запрос информации по продукту', 'utf-8').encode()
msg['To'] = email
msg['From'] = from_addr
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(from_addr, email, msg.as_string())
server.quit
Подписаться на:
Сообщения (Atom)
Ярлыки
- 11g (3)
- 9i (3)
- аксон (1)
- институт химии (3)
- интересно (2)
- медицина (1)
- радар детектор (1)
- радардетектор (1)
- api (1)
- auth (1)
- bash (1)
- bind (1)
- bios (1)
- dba (5)
- debian (10)
- development (1)
- dns (1)
- email (2)
- etch (1)
- exim (1)
- extend (1)
- facebook (1)
- ftp (1)
- g1000 (1)
- harddisk (2)
- hardware (1)
- hp (1)
- hp-ux (2)
- iscsi (1)
- iscsitarget (1)
- kpartx (1)
- lenny (3)
- linux (12)
- listener (1)
- lvm (1)
- mail (5)
- msi (1)
- mssql (1)
- named (1)
- ntlm (1)
- online (1)
- oracle (9)
- partprobe (1)
- pi (1)
- pipe (1)
- postfix (2)
- proftpd (1)
- proxy (1)
- python (1)
- python3 (1)
- raid (3)
- raspberry pi (1)
- raspbian (1)
- rss (1)
- san (1)
- screen (1)
- sendmail (2)
- sho me (1)
- shome (1)
- sid (1)
- smart host (1)
- smartarray (1)
- smarthost (1)
- smtp (1)
- squid (1)
- ssh (3)
- su (1)
- sudo (1)
- svn (1)
- sysadmin (5)
- u100 (1)
- unix (3)
- utl_mail (1)
- utl_smtp (1)
- virtualbox (3)
- virtualization (3)
- vmware (2)
- web (1)
- wiki (1)
- zabbix (1)
- zoneminder (1)
Архив блога
- ноября 2020 (1)
- апреля 2018 (1)
- апреля 2017 (1)
- августа 2016 (1)
- апреля 2016 (1)
- февраля 2015 (1)
- ноября 2014 (1)
- сентября 2014 (1)
- мая 2014 (1)
- марта 2014 (2)
- февраля 2014 (1)
- января 2014 (1)
- ноября 2013 (1)
- июля 2013 (1)
- июня 2013 (1)
- мая 2013 (3)
- апреля 2013 (3)
- марта 2013 (2)
- февраля 2013 (1)
- января 2013 (1)
- октября 2012 (2)
- мая 2012 (1)
- марта 2012 (1)
- июня 2010 (1)
- мая 2010 (1)
- декабря 2009 (1)
- августа 2009 (1)
- июля 2009 (3)
- мая 2009 (1)
- апреля 2009 (3)
- марта 2009 (1)
- февраля 2009 (2)
- июня 2008 (1)
- мая 2008 (1)
- ноября 2007 (2)
- августа 2007 (2)
- июля 2007 (4)