要编写一个Python程序来拍摄一张照片并通过Gmail发送它,你需要使用OpenCV库来进行照片拍摄,并使用smtplib库来发送邮件。
以下是一个示例代码,可以实现这个功能:
import cv2
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
def capture_photo():
    # 使用OpenCV库打开摄像头
    cap = cv2.VideoCapture(0)
    # 读取摄像头中的图像
    ret, frame = cap.read()
    # 保存图像到本地文件
    cv2.imwrite("photo.jpg", frame)
    # 释放摄像头
    cap.release()
def send_email():
    # 设置发件人、收件人和邮件主题
    from_email = "your_email@gmail.com"
    to_email = "recipient_email@gmail.com"
    subject = "Photo captured"
    # 创建邮件对象
    msg = MIMEMultipart()
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject
    # 添加邮件正文
    body = "Please find attached the photo captured."
    msg.attach(MIMEText(body, 'plain'))
    # 添加附件(即照片)
    with open("photo.jpg", 'rb') as f:
        img = MIMEImage(f.read())
    msg.attach(img)
    # 发送邮件
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(from_email, "your_password") # 替换成你的邮箱密码
    server.send_message(msg)
    server.quit()
if __name__ == "__main__":
    capture_photo()
    send_email()
请注意,你需要将代码中的"your_email@gmail.com"替换为你的发件人邮箱地址,"recipient_email@gmail.com"替换为收件人邮箱地址,并将"your_password"替换为你的发件人邮箱密码。
此代码将打开计算机上的摄像头并拍摄一张照片,然后将照片作为附件发送到指定的收件人邮箱。