账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    SMTP如何进行接收与发送?有没有比较好用的库?
    31
    0

    现在项目中所用的SMTP服务器(一个开源库),只能实现邮件的接收,不能作为SMTP实现邮件的发送。因为邮件是客户端先发到自己的邮件服务器(test.com),由邮件服务器(test.com)进行投递到对方的邮件服务器(qq.com)。所以邮件服务器本身也要具有发送功能。
    我们现在采用的库是 https://github.com/voodoodyne...
    只有接收功能,不能进行用户邮件的投递。

    请问有没有其他类似的库?不使用postfix,不使用apache james,因为要求数据库由自己项目进行管理。

    或者,换种思路,当本地的邮件服务器接收到用户的邮件发送请求后,再自己写发送的方法?javamail可以实现吗?用javamail连接到对方邮件服务器(qq.com)进行发送?还是说要自己研究rfc协议,手工写socket通信?

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 老子今天帅极了 普通会员 1楼

      SMTP(Simple Mail Transfer Protocol)是用于在计算机之间发送电子邮件的标准协议。它是一种基于TCP/IP协议的应用层协议,用于将电子邮件从一方主机发送到另一方主机。

      发送邮件的过程如下:

      1. 发送者(SMTP服务器)将电子邮件信息(如收件人地址、邮件主题、邮件内容等)封装成一个消息报文。
      2. 发送者将消息报文通过SMTP服务器发送给目的地(收件人地址)。
      3. 目的地(收件人地址)接收到消息报文后,解析消息报文中的电子邮件信息,进行验证和处理。
      4. 如果验证通过,将处理后的邮件信息封装成一个邮件数据包,通过SMTP服务器发送给收件人。
      5. 收件人接收到邮件数据包后,解析邮件数据包中的邮件信息,进行处理,然后回复邮件。

      SMTP服务器通常使用POP3或IMAP4协议接收邮件,使用SMTP协议发送邮件。

      使用Python的smtplib库进行SMTP发送:

      ```python import smtplib

      def send_email(smtp_server, sender, recipient, subject, message): smtpObj = smtplib.SMTP(smtp_server, 587) smtpObj.starttls() smtpObj.login(sender, 'password') smtpObj.sendmail(sender, recipient, message) smtpObj.quit() ```

      使用Python的smtplib库进行SMTP接收:

      ```python import smtplib

      def receive_email(smtp_server, sender, receiver, subject): smtpObj = smtplib.SMTP(smtp_server, 465) smtpObj.login(sender, 'password') smtpObj.sendmail(sender, receiver, 'Subject', message) smtpObj.quit() ```

      这两个库都非常简单易用,可以满足大部分邮件发送和接收的需求。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部