email

email

email模块用于发送电子邮件,该模块中包含2个类:DialerMessage

Dialer

Dialer表示发送电子邮件的配置,包括 SMTP 服务器的信息和相关的发送参数。它负责与 SMTP 服务器建立连接,并发送 Message 所表示的电子邮件

构造函数

语法

new Dialer(host:string,port:int,username:string,password:string)

参数

  • host: SMTP服务器的主机名或 IP 地址
  • port: SMTP服务器的端口号
  • username: 用于身份验证的用户名
  • password: 用于身份验证的密码

示例

import {Dialer} from "email"
//创建dialer对象
const dialer = new Dialer("smtpdm.aliyun.com", 465, "test@mail.vino.com", "123456")

send

Dialer对象通过send方法来发送电子邮件。

语法

dialer.send(message:Message)

参数

  • message: Message对象

示例

import {Dialer} from "email"
//创建dialer对象
const dialer = new Dialer("smtpdm.aliyun.com", 465, "test@mail.vino.com", "123456")
//发送message对象
dialer.send(message)

Message

Message表示一封电子邮件消息。它包含电子邮件的各种部分,如发件人、收件人、主题、正文和附件等。通过这个结构体,可以构建和管理电子邮件的内容

构造函数

语法

new Message()

示例

const message = new Message()

对象的属性和方法

名称类型参数返回值说明
setHeader方法field:string,value:string设置邮件头部信息,如发件人、收件人、主题等
setBody方法contentType:string,body:string设置邮件正文的内容及其类型
addAlternative方法contentType:string,body:string设置邮件正文的替代内容
attach方法file:string添加文件附件
attachReader方法filename:string,reader:Reader附加文件流作为邮件附件
embed方法file:string嵌入文件(通常是图片)到邮件正文中
embedReader方法filename:string,reader:Reader嵌入文件流作为内嵌资源。

setHeader

设置邮件头部信息,如发件人、收件人、主题等

语法

message.setHeader(field:string,value:string)

参数

  • field: 头部字段名称,如 "From", "To", "Subject"。
  • value: 头部字段的值

示例

import {Message} from "email"

const message = new Message()
message.setHeader("From", "test@mail.vino.com")

setBody

设置邮件正文的内容及其类型

语法

message.setBody(contentType:string,body:string)

参数

  • contentType: 内容类型,如 "text/plain" 或 "text/html"。
  • body: 邮件正文内容

示例

import {Message} from "email"

const message = new Message()
message.setBody("text/plain", "你好。")

addAlternative

添加邮件正文的替代内容,例如同时提供 HTML 和纯文本版本的正文

语法

message.addAlternative(contentType:string,body:string)

参数

  • contentType: 内容类型,如 "text/plain" 或 "text/html"。
  • body: 邮件正文内容

示例

import {Message} from "email"

const message = new Message()
message.addAlternative("text/html", "<p>你好,这是html.</p>")

attach

添加文件附件

语法

message.attach(file:string)

参数

  • file: 文件路径。

示例

import {Message} from "email"

const message = new Message()
message.attach("path/to/your/file.txt")

attachReader

附加文件流作为邮件附件

语法

message.attachReader(filename:string,reader:Reader)

参数

  • filename: 文件名
  • reader: 输入流对象

示例

import {Message} from "email";
import {fs} from "core";

let file = fs.openFile("/Desktop/1.txt");
const message = new Message();
message.attachReader(file.stat().name, file.read());

embed

嵌入文件(通常是图片)到邮件正文中

语法

message.embed(file:string)

参数

  • file: 文件路径。

示例

import {Message} from "email"

const message = new Message()
message.embed("path/to/your/file.txt")

embedReader

嵌入文件流作为内嵌资源。

语法

message.embedReader(filename:string,reader:Reader)

参数

  • filename: 文件名
  • reader: 输入流对象

示例

import {Message} from "email"
import {fs} from "core"

let file = fs.openFile("/Desktop/1.txt");
const message = new Message()
message.embedReader("xxx.txt",file)

案例

import {Dialer, Message} from "email"
//创建dialer对象
const dialer = new Dialer("smtpdm.aliyun.com", 465, "test@mail.vino.com", "123456")
//创建message对象
const message = new Message()
//设置头
message.setHeader("From", "test@mail.vino.com")
message.setHeader("To", "test@vino.com")
message.setHeader("Subject", "主题")
message.setBody("text/plain", "你好.")
message.addAlternative("text/html", "<h1>你好</h1>")
//附件
message.attach("./excel.xlsx")
//图片
message.embed("./test.jpg")
//发送
dialer.send(message)
更新时间 9/19/2024, 12:09:33 PM