- 1 1. Panimula
- 2 2. Paano Magpadala ng Email Gamit ang Python
- 3 3. Praktikal: Mga Halimbawa ng Code sa Pagpapadala ng Email sa Python
- 4 4. Pagpapadala ng email gamit ang Gmail
- 5 5. Mga Advanced na Aplikasyon: Teknik sa Pagpapadala ng Email
- 6 6. Buod
1. Panimula
Ang pagpapadala ng email gamit ang Python ay isang napakayayamang kasanayan para sa parehong personal na aplikasyon at mga sistema ng negosyo. Halimbawa, ito ay maaaring gamitin upang awtomatikong magpadala ng mga abiso sa mga gumagamit mula sa isang aplikasyon o upang magpadala ng mga log ng error ng sistema sa mga administrador sa oras na totoong. Bukod pa rito, sa pamamagitan ng pagpapadala ng email sa pamamagitan ng code sa halip na manu-manong, maaari mong epektibong hawakan ang paghahatid ng email at lubos na mapadali ang mga pang-araw-araw na gawain. Kasama sa Python ang “smtplib” sa standard library nito, na nagbibigay-daan sa basic na pagpapadala ng email nang hindi nangangailangan ng karagdagang external modules. Sa artikulong ito, ipinapaliwanag namin ang basic na setup at mga hakbang para sa pagpapadala ng email gamit ang Python at ipinakikilala ang mga praktikal na paraan gamit ang tunay na mga halimbawa ng code. Binubuo rin namin ang mga advanced na paksa nang detalyado, tulad ng mga email na may HTML format, pagpapadala ng email na may mga attachment, mga setting ng seguridad ng Gmail, pagpapadala ng email sa Japanese, at bulk na pagpapadala sa maraming tatanggap. Sa pagtatapos ng gabay na ito, magiging madali na para sa iyo ang pagpapadala ng email gamit ang Python at magkakaroon ka ng kaalaman upang ilapat ito sa iba’t ibang sitwasyon.
2. Paano Magpadala ng Email Gamit ang Python
Upang magpadala ng email gamit ang Python, gumamit ng standard library na “smtplib”. Pinapayagan ka ng library na ito na magpadala ng email sa pamamagitan ng isang SMTP server sa pamamagitan ng pagsusulat lamang ng code. Sa ibaba, nagbibigay kami ng detalyadong overview ng smtplib module at ang mga basic na hakbang para sa pagpapadala ng email.
Panimula sa smtplib module
Ang smtplib module ay bahagi ng standard library ng Python at sumusuporta sa SMTP client protocol. Gamit ang module na ito, maaari kang mag-connect nang direkta sa isang SMTP server mula sa Python at magpadala ng email.
Mga pangunahing tampok ng smtplib
- Madaling nakikipag-ugnayan sa mga SMTP server.
- Walang karagdagang external modules ang kailangan; kasama ito sa Python, kaya walang karagdagang setup ang kinakailangan.
- Sumusuporta sa mga setting ng seguridad at error handling.
Mga Basic na Hakbang para sa Pagpapadala ng Email
Ngayon, tatalakayin natin ang mga basic na hakbang para sa pagpapadala ng email gamit ang Python. Sa pamamagitan ng pagsunod sa mga hakbang sa ibaba, madali mong maipapadala ang email.
1. Paano Mag-Connect sa isang SMTP Server
Una, kailangan mong mag-connect sa isang SMTP server. Ito ang simula para sa pagpapadala ng email. Karaniwang, madalas mong gagamitin ang mga SMTP server na ibinigay ng mga serbisyo tulad ng Gmail, Yahoo Mail, o Outlook, ngunit posible rin na gumamit ng dedicated SMTP server ng isang kumpanya.
import smtplib
# SMTP server settings
smtp_server = "smtp.example.com" # Example: For Gmail, use "smtp.gmail.com"
smtp_port = 587 # Common port number. For Gmail, use 587
2. Pag-set up ng Login Authentication
Pagkatapos magtatag ng koneksyon sa SMTP server, mag-log in gamit ang email address at password ng tagapagpadala. Kapag gumagamit ng mga serbisyo tulad ng Gmail, maaaring kailanganin ang karagdagang mga setting ng seguridad.
# Email account information
username = "your_email@example.com"
password = "your_password"
# Connect and log in to the SMTP server
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # Establish a secure connection
server.login(username, password)
3. Paglikha at Pagpapadala ng Email
Susunod, lumikha ng nilalaman ng email na ipapadala. Tukuyin ang address ng tatanggap, subject, at body, at ipadala ito sa pamamagitan ng SMTP server.
# Email sending information
to_address = "recipient@example.com"
subject = "Test email"
body = "This email was sent from Python."
# Email format
message = f"Subject: {subject}
{body}"
# Send email
server.sendmail(username, to_address, message)
print("Email has been sent!")
4. Mga Mahahalagang Punto para sa Error Handling
Ang mga koneksyon sa SMTP server at pagpapadala ng email ay maaaring magdulot ng hindi inaasahang mga error. Sa kadahilanang iyon, gumamit ng try-except blocks upang maproseso nang angkop ang mga error.
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message)
print("The email was sent successfully!")
except Exception as e:
print("Email send error:", e)
finally:
server.quit() # Close the connection
Buod
This covers the basic procedure for sending email with Python. Once you learn this flow, you can automate emails, send multiple messages at once, and apply it in various ways. In the next section, we’ll look in detail at sending plain text emails, HTML emails, and emails with attachments using actual code examples.

3. Praktikal: Mga Halimbawa ng Code sa Pagpapadala ng Email sa Python
Mula dito, maghahain kami ng mga aktwal na halimbawa ng code para sa pagpapadala ng email gamit ang Python. Ipaliwanag namin hakbang-hakbang kung paano magpadala ng plain text na mga email, HTML na mga email, at mga email na may kalakip.
Pagpapadala ng Plain Text na mga Email
Una, narito kung paano magpadala ng pinaka-pangunahing anyo: isang plain text na email. Gagamitin natin ang smtplib module upang magpadala ng simpleng text na mensahe.
Code Example
import smtplib
# Email account information
smtp_server = "smtp.example.com"
smtp_port = 587
username = "your_email@example.com"
password = "your_password"
# Recipient and contents
to_address = "recipient@example.com"
subject = "Plain text email test"
body = "This is a plain text email sent from Python."
# Email format
message = f"Subject: {subject}
{body}"
try:
# Connect to the server
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message)
print("Plain text email sent!")
except Exception as e:
print("Email send error:", e)
finally:
server.quit()
Pagpapadala ng HTML na mga Email
Susunod, ipapaliwanag namin kung paano magpadala ng mga email na may format na HTML. Ang paggamit ng HTML na mga email ay nagbibigay-daan sa iyo na i-istilo ang katawan at mag-embed ng mga link. Kapag naglalagay ng HTML code sa katawan ng email, gamitin ang email.mime module upang maayos na maproseso ang HTML.
Code Example
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# Email account information
smtp_server = "smtp.example.com"
smtp_port = 587
username = "your_email@example.com"
password = "your_password"
# Recipient and contents
to_address = "recipient@example.com"
subject = "HTML email test"
html_content = '''
<html>
<body>
<h1>Hello</h1>
<p>This is an HTML-formatted email sent from <strong>Python</strong>.</p>
<a href="https://example.com">Click here</a>
</body>
</html>
'''
# Create the email
message = MIMEMultipart()
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
message.attach(MIMEText(html_content, "html"))
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message.as_string())
print("HTML email sent!")
except Exception as e:
print("Email send error:", e)
finally:
server.quit()
Pagpapadala ng mga Email na may Kalakip
Susunod, ipapakita namin kung paano magpadala ng mga email na may kalakip na mga file. Halimbawa, maaari kang mag-attach ng mga PDF o larawan sa iyong email. Ginagamit nito ang MIMEBase class mula sa email.mime module.
Code Example
%%CODEBLOCK2%%
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
# Email account information
smtp_server = "smtp.example.com"
smtp_port = 587
username = "your_email@example.com"
password = "your_password"
# Recipient and contents
to_address = "recipient@example.com"
subject = "Test email with attachment"
body = "I have attached a file. Please check it."
# Create the email
message = MIMEMultipart()
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
message.attach(MIMEText(body, "plain"))
# Attach file
filename = "example.pdf" # Name of the file to attach
with open(filename, "rb") as attachment:
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header("Content-Disposition", f"attachment; filename={filename}")
message.attach(part)
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message.as_string())
print("Email with attachment sent!")
except Exception as e:
print("Email send error:", e)
finally:
server.quit()
Buod
Sa pamamagitan ng paggamit ng mga halimbawa ng code sa itaas, maaari kang magpadala ng iba’t ibang uri ng email gamit ang Python. Depende sa iyong pangangailangan, maaari kang pumili sa pagitan ng plain text, HTML, o mga email na may kalakip. Sa susunod na seksyon, gagamitin natin ang Gmail bilang halimbawa upang ipaliwanag ang mga tiyak na setting at pag-iingat kapag gumagamit ng isang partikular na SMTP server.
4. Pagpapadala ng email gamit ang Gmail
Ang seksyong ito ay naglalahad nang detalyado kung paano magpadala ng email gamit ang Gmail gamit ang Python. Ang Gmail ay malawakang ginagamit at nagbibigay ng SMTP server na madaling ma-access ng mga programang Python. Gayunpaman, ang pagpapadala ng mail sa pamamagitan ng Gmail ay nangangailangan ng ilang mga setting sa seguridad.
Mga setting ng Gmail SMTP
Upang magpadala ng mail gamit ang Gmail, gamitin ang sumusunod na impormasyon ng SMTP server:
- SMTP server :
smtp.gmail.com - Port : 587 (gamitin ang TLS) o 465 (gamitin ang SSL)
- Authentication : Kailangan
Halimbawa ng pangunahing setup code
import smtplib
from email.mime.text import MIMEText
# Gmail SMTP server settings
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
password = "your_password"
# Recipient and content
to_address = "recipient@example.com"
subject = "Test email from Gmail"
body = "This email was sent through Gmail from Python."
# Create the email content
message = MIMEText(body)
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
try:
# Connect to the server and send the email
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # Use TLS to enhance security
server.login(username, password)
server.sendmail(username, to_address, message.as_string())
print("The email was sent using Gmail!")
except Exception as e:
print("Email sending error:", e)
finally:
server.quit()
Mga konsiderasyon sa seguridad
Kapag gumagamit ng Gmail account, dapat mong suriin ang iyong mga setting sa seguridad. Karaniwang naglalagay ang Gmail ng mga restriksyon sa seguridad para sa pag-access mula sa mga third-party na aplikasyon. Dahil dito, kapag nag-aaccess mula sa Python, kinakailangan ang mga sumusunod na hakbang.
Pagkuha ng app password
- I-enable ang two-factor authentication : I-on ang 2-Step Verification sa mga setting ng iyong Gmail account. Ito ay magbibigay-daan upang makabuo ng app password.
- Bumuo ng app password : Mula sa Mga setting ng Account ng Gmail > Security > App passwords, lumikha ng dedikadong app password para sa iyong Python program. Ang password na ito ay gagamitin kapalit ng iyong regular na login password.
Mga Tala
- Pamamahala ng mga app password : Panatilihing mahigpit na kumpidensyal at ligtas ang mga app password.
- Seguridad ng account : Inirerekomenda ang paggamit ng mga app password upang makatulong na maiwasan ang hindi awtorisadong pag-access sa iyong Gmail account.
Halimbawa ng code (gamit ang app password)
Kapag gumagamit ng app password, ganito ang hitsura ng code.
import smtplib
from email.mime.text import MIMEText
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
app_password = "your_app_password" # Use an app password instead of your regular password
to_address = "recipient@example.com"
subject = "Test email from Gmail using an app password"
body = "This email was sent from Gmail using an app password."
message = MIMEText(body)
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, app_password)
server.sendmail(username, to_address, message.as_string())
print("The email was sent using Gmail!")
except Exception as e:
print("Email sending error:", e)
finally:
server.quit()
Buod
Kapag nagpapadala ng email mula sa Python gamit ang Gmail, mahalaga ang mga setting ng seguridad ng iyong account. Ang paggamit ng app password ay nagpapahintulot na magpadala ng email nang mas ligtas. Ang susunod na seksyon ay magpapakilala ng mga advanced na teknik sa pagpapadala ng email gamit ang Python, kabilang ang pagpapadala sa maraming tatanggap, naka-iskedyul na awtomatikong pagpapadala, at kung paano magpadala ng mga email sa wikang Hapon. 
5. Mga Advanced na Aplikasyon: Teknik sa Pagpapadala ng Email
Mula dito, tatalakayin natin ang mga advanced na teknik sa pagpapadala ng email gamit ang Python. Ang seksyong ito ay naglalahad ng mga praktikal na pamamaraan tulad ng maramihang pagpapadala sa maraming tatanggap, pag-automate ng naka-iskedyul na mga email, at pagpapadala ng mga email sa wikang Hapon.
Pagpapadala sa Maraming Tatanggap
Sa Python, maaari kang magpadala ng mensahe sa maraming tatanggap nang sabay-sabay. Sa pamamagitan ng wastong pag-set ng mga field na “To”, “Cc”, at “Bcc” ng email at pamamahala ng mga tatanggap bilang listahan, nagiging simple ang maramihang pagpapadala.
Halimbawa ng Code
Narito ang isang halimbawa ng code na nagtatakda ng maraming tatanggap sa field na “To”.
import smtplib
from email.mime.text import MIMEText
# SMTP server info
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
password = "your_app_password"
# Recipient list
to_addresses = ["recipient1@example.com", "recipient2@example.com"]
subject = "Test email to multiple recipients"
body = "This email was sent to multiple recipients at once."
# Create the email
message = MIMEText(body)
message["From"] = username
message["To"] = ", ".join(to_addresses) # Separate multiple recipients with commas
message["Subject"] = subject
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_addresses, message.as_string())
print("The email to multiple recipients has been sent!")
except Exception as e:
print("Email sending error:", e)
finally:
server.quit()
Pag-automate ng Naka-iskedyul na Pagpapadala ng Email
Upang magpadala ng mga email nang pana-panahon, kapaki-pakinabang ang pag-set up ng iskedyul. May mga library ang Python tulad ng “schedule” at ang “time” module para magpatakbo ng mga paulit-ulit na gawain batay sa mga interval ng oras. Halimbawa, maaari kang bumuo ng script upang awtomatikong magpadala ng mga email sa isang tiyak na oras.
Halimbawa ng Code (Naka-iskedyul na pagpapadala gamit ang schedule)
import smtplib
from email.mime.text import MIMEText
import schedule
import time
def send_email():
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
password = "your_app_password"
to_address = "recipient@example.com"
subject = "Scheduled email"
body = "This is an email sent on a regular schedule."
message = MIMEText(body)
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message.as_string())
print("Email has been sent!")
except Exception as e:
print("Email sending error:", e)
finally:
server.quit()
# Send the email every day at 9:00 AM
schedule.every().day.at("09:00").do(send_email)
while True:
schedule.run_pending()
time.sleep(1)
Ang script na ito ay awtomatikong magpapadala ng email araw-araw sa tinakdang oras (dito, 9:00 AM).
Pagpapadala ng Email sa Japanese
Kapag nagpapadala ng email sa Japanese gamit ang Python, kailangan mong bigyang-pansin ang encoding. Lalo na para sa mga paksa at katawan na may Japanese, i-configure ang iyong mga mensahe na gumamit ng UTF-8 encoding upang matiyak ang tamang pagpapadala.
Halimbawa ng code (suporta sa Japanese)
import smtplib
from email.mime.text import MIMEText
from email.header import Header
smtp_server = "smtp.gmail.com"
smtp_port = 587
username = "your_email@gmail.com"
password = "your_app_password"
to_address = "recipient@example.com"
# Japanese subject and body
subject = Header("Test email in Japanese", "utf-8")
body = "This is an email sent in Japanese from Python."
message = MIMEText(body, "plain", "utf-8")
message["From"] = username
message["To"] = to_address
message["Subject"] = subject
try:
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.sendmail(username, to_address, message.as_string())
print("The Japanese email has been sent!")
except Exception as e:
print("Email sending error:", e)
finally:
server.quit()
Buod
Sa seksyong ito, tinalakay namin ang mga advanced na teknik sa pagpapadala ng email gamit ang Python. Gamit ang mga tampok tulad ng pagpapadala sa maramihang tatanggap, awtomatikong naka-iskedyul na mga email, at pagsuporta sa Japanese, nagiging mas praktikal ang iyong pagpapadala ng email. Ang susunod na seksyon ay magbubuod ng artikulo at susuriin ang mga pangunahing punto.
6. Buod
Inilakbay ng artikulong ito kung paano magpadala ng email gamit ang Python, mula sa mga batayan hanggang sa mga advanced na teknik. Sa pamamagitan ng paggamit ng standard library ng Python na “smtplib”, nagiging simple ang pagpapadala ng email at maaaring ilapat sa pang-araw-araw na gawain at mga aplikasyon. Narito ang buod ng mga pangunahing punto na natutunan sa bawat seksyon.
- Mga pangunahing hakbang sa pagpapadala ng email
- Natutunan mo kung paano gamitin ang module ng Python na “smtplib” upang magpadala ng email sa pamamagitan ng isang SMTP server.
- Tinalakay din namin ang daloy ng trabaho mula sa pagbuo hanggang sa pagpapadala ng mga email at ang kahalagahan ng paghawak ng mga error.
- Mga praktikal na halimbawa ng code sa pagpapadala ng email
- Ipinakilala namin kung paano magpadala ng plain text na email, HTML na email, at mga email na may attachment, bawat isa ay may mga halimbawa ng code.
- Pinahintulutan ka nitong iangkop ang code sa iba’t ibang format ng email upang matugunan ang iba’t ibang pangangailangan.
- Pagpapadala ng email gamit ang Gmail
- Ipinaliwanag namin ang mga setting ng SMTP server ng Gmail at mga hakbang sa seguridad gamit ang app passwords.
- Inulit namin na kapag gumagamit ng Gmail account, kailangan mong paganahin ang two-step verification at mag-setup ng app password.
- Mga advanced na teknik sa pagpapadala ng email
- Tinalakay namin ang pagpapadala sa maramihang tatanggap, awtomatikong naka-iskedyul na mga email, at mga teknik para sa paghawak ng nilalaman sa wikang Japanese.
- Lalo naming binigyang-diin na mahalaga ang tamang mga setting ng encoding kapag nagpapadala ng email na may kasamang Japanese sa paksa o katawan.
Paano gamitin ang gabay na ito
Sa pagsunod sa gabay na ito, maaari kang bumuo ng mga awtomatikong nagpadala ng email, mga nakaiskedyul na sistema ng abiso, o mga aplikasyon ng abiso gamit ang Python. Bilang isang praktikal na kasanayan, maaari mo itong ilapat sa suporta sa kostumer, pamamahala ng operasyon, o bilang bahagi ng mga serbisyo ng abiso.
Ang pagpapadala ng email gamit ang Python ay maaaring ilapat sa maraming gawain at kaso ng paggamit, at ang kaginhawahan at kakayahang umangkop nito ay maaaring maging lubos na kapaki-pakinabang sa negosyo. Subukan ito at isama ito sa iyong mga proyekto.




