需要一段python代码打印.eml格式文件,GPT给的代码,最后打印出来的是bytes,不是可读的邮件。或者将eml格式转化为msg,再用pywin32打印
def print_eml(img):
printer_name = win32print.GetDefaultPrinter()
# Open the EML file and read its contents
with open(img, 'rb') as f:
eml_content = f.read().decode('utf-8')
# Send the EML content to the default printer
hPrinter = win32print.OpenPrinter(printer_name)
try:
hJob = win32print.StartDocPrinter(hPrinter, 1, ("test", None, "RAW"))
try:
win32print.StartPagePrinter(hPrinter)
win32print.WritePrinter(hPrinter, eml_content.encode())
win32print.EndPagePrinter(hPrinter)
finally:
win32print.EndDocPrinter(hPrinter)
finally: