PHP 8.2.30
Preview: smtp.py Size: 1.07 KB
//opt/hc_python/share/doc/pycurl/examples/smtp.py

# Based on the simple libcurl SMTP example:
# https://github.com/bagder/curl/blob/master/docs/examples/smtp-mail.c
# There are other SMTP examples in that directory that you may find helpful.

from . import localhost
import pycurl
try:
    from io import BytesIO
except ImportError:
    from StringIO import StringIO as BytesIO
import sys

PY3 = sys.version_info[0] > 2

mail_server = 'smtp://%s' % localhost
mail_from = 'sender@example.org'
mail_to = 'addressee@example.net'

c = pycurl.Curl()
c.setopt(c.URL, mail_server)
c.setopt(c.MAIL_FROM, mail_from)
c.setopt(c.MAIL_RCPT, [mail_to])

message = '''\
From: %s
To: %s
Subject: PycURL SMTP example

SMTP example via PycURL
''' % (mail_from, mail_to)

if PY3:
    message = message.encode('ascii')

# libcurl does not perform buffering, therefore
# we need to wrap the message string into a BytesIO or StringIO.
io = BytesIO(message)
c.setopt(c.READDATA, io)

# If UPLOAD is not set, libcurl performs SMTP VRFY.
# Setting UPLOAD to True sends a message.
c.setopt(c.UPLOAD, True)

# Observe SMTP conversation.
c.setopt(c.VERBOSE, True)
c.perform()

Directory Contents

Dirs: 2 × Files: 11

Name Size Perms Modified Actions
- drwxr-xr-x 2025-04-04 08:01:21
Edit Download
- drwxr-xr-x 2025-04-04 08:01:21
Edit Download
545 B lrw-r--r-- 2025-04-04 08:01:21
Edit Download
1.15 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
21.26 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
7.81 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
861 B lrw-r--r-- 2025-04-04 08:01:21
Edit Download
3.28 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
2.60 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
2.40 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
1.07 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download
302 B lrw-r--r-- 2025-04-04 08:01:21
Edit Download
2.13 KB lrw-r--r-- 2025-04-04 08:01:21
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).