精华内容
下载资源
问答
  • 电子邮件营销步骤

    千次阅读 2019-01-21 14:11:35
    电子邮件营销一直以来都是一种热门的市场营销手段,很多刚接触电子邮件营销的营销人员往往不知道具体的电子邮件营销步骤,今天一米软件就来跟大家说一说。     完成电子邮件营销需要哪些步骤?   1、搜集...

    电子邮件营销一直以来都是一种热门的市场营销手段,很多刚接触电子邮件营销的营销人员往往不知道具体的电子邮件营销步骤,今天一米软件就来跟大家说一说。

     

    电子邮件营销步骤

     

    完成电子邮件营销需要哪些步骤?

     

    1、搜集精确的邮箱

     

    要做好qq邮箱营销,首先要针对地区和行业对邮箱地址进行分类,只有把精准的邮件发送到目标客户手中才是有效的营销。

     

    2、取一个吸引人的标题

     

    邮件的标题直接影响邮件的打开率,一个好的标题,有助于引起接收者的兴趣,点击打开你的邮件。所以邮件标题应该简洁有力,突出重点,但是一定不能带敏感词,不然会被判定为垃圾邮件。

     

    3、写一篇质量很好的软文

     

    邮件营销的关键,就是要让客户读完整篇文章,如果上来就是明显的广告,那人们通常是没有耐心去看完的,所以写一篇质量很好的软文至关重要,要让读者读完后即便知道是一篇广告,也不会反感,这个才是上上之策。

     

    4、针对客户群体发送邮件

     

    发送邮件也要根据客户群选择针对性最强的目标,比如你是做当地礼品行业的,那你就选择本城市的邮件地址,这样才能获得最大的转换效果。

     

    5、邮件群发工具

     

    一个优秀的邮件群发工具可以极大的提高邮件发送的效率,以及获得更高的发送成功率,一米软件推荐大家使用一米智能QQ邮件群发软件,成功发送1万封邮件仅需要2-3个小时,成功率高达80-90%,是一款不可多得的邮件营销软件。

     

    6、数据分析

     

    邮件发送之后一定要追踪效果进行分析,监测邮件列表的注册转化率,退订率,同时也要关注邮件的到达率,打开率,阅读率等,通过整理这些数据分析邮件营销的效果,进行相应调整,实现邮件营销效果的最优化。

    展开全文
  • 本文分步骤给大家详细介绍了SQL Server 使用触发器(trigger)发送电子邮件的方法,需要的朋友可以参考下
  • 用 Python 发电子邮件

    万次阅读 2016-10-16 16:46:19
    本文首发于【红叶枫啦】微信公号,未经允许,不得转载。 使用的库 ...思路步骤 总体思路很简单,就像我们平常上网是通过HTTP协议一样,我们发送邮件是通过SMTP(Simple Mail Transfer Protocol,简单...

    更新

    这里我会列出对本文的更新。

    • 2020-04-08:修改格式,保持风格统一。
    • 2021-04-26:升级到 Python 3,丰富细节。

    使用的库

    这个程序涉及两个库:smtplibemail

    这两个库都是Python自带的,所以不需要额外的下载安装,Python版本为3.8(其他 3.x 应该也可以)。

    思路步骤

    总体思路很简单,就像我们平常上网是通过HTTP协议一样,我们发送邮件是通过SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)来传输的,而现在我们需要做的就是

    1. 开启邮箱 SMTP 服务
    2. 设置好 SMTP 服务器地址
    3. 告诉服务器我们的邮箱地址和密码(如果是 QQ 邮箱,那么则是授权码
    4. 设置要发送的邮件内容,例如发送者地址,接收者地址,邮件主题,邮件正文,附件等
    5. 将设置好的邮件内容传给服务器,并发送

    以 QQ 邮箱为例,开启 SMTP 的路径是:邮箱首页 → 设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 → 开启。
    开启 QQ 邮箱 SMTP 服务
    第一步和第二步就是需要使用 smtplib,这是一个帮助我们设置 SMTP 服务器的库,那么具体如何设置呢?实际上我们需要的就是一个 SMTP 服务器的地址,例如 QQ 邮箱的 SMTP 服务器的地址就是:smtp.qq.com,端口号是 465587
    qq邮箱的SMTP地址
    QQ 邮箱的 SMTP 地址

    server = smtplib.SMTP("smtp.qq.com", 587)
    

    第三步就是使用 email ,这是一个帮助我们设置邮件内容的库,包括主题、正文等,然后用设置好的服务器发送设置好的邮件内容。

    用赛克君的QQ邮箱发送:
    这里写图片描述

    另一个邮箱接收(outlook 邮箱)
    这里写图片描述

    outlook 邮箱内一个带 PDF 附件的邮件,可以看到附件被正确的附上了
    这里写图片描述

    程序源码

    发送无附件的邮件

    # 注意此处使用QQ邮箱作为发送邮箱,如果要用其他邮箱请更改 server 中的服务器地址
    
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    
    fromaddr = "发送者的邮箱地址"
    toaddr = "接收者的邮箱地址"
    msg = MIMEMultipart()
    msg['From'] = fromaddr
    msg['To'] = toaddr
    # 邮件主题
    msg['Subject'] = "Hooah"
    # 邮件正文
    body = "HAHAHA!"
    
    msg.attach(MIMEText(body, 'plain'))
    
    server = smtplib.SMTP("smtp.qq.com")
    server.starttls()
    server.login(fromaddr , "发送者的邮箱授权码")
    text = msg.as_string()
    server.sendmail(fromaddr, toaddr, text)
    server.quit()
    

    发送有附件的邮件

    # 注意此处使用QQ邮箱作为发送邮箱,如果要用其他邮箱请更改 server 中的服务器地址
    
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.base import MIMEBase
    from email import encoders
    
    fromaddr = "发送者的邮箱地址"
    toaddr = "接收者的邮箱地址"
    msg = MIMEMultipart()
    msg['From'] = fromaddr
    msg['To'] = toaddr
    # 邮件主题
    msg['Subject'] = "Hooah"
    # 邮件正文
    body = "HAHAHA!"
    
    msg.attach(MIMEText(body, 'plain'))
    
    # 附件
    filename = "AttachmentTest/kaiti.pdf"
    attachment = open(filename, 'rb')
    part = MIMEBase('application', 'octet-stream')
    # 这也可以: part = MIMEBase('application', 'pdf')
    part.set_payload((attachment).read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', 'attachment', filename=filename)
    
    msg.attach(part)
    
    # 设置 SMTP
    server = smtplib.SMTP("smtp.qq.com")
    server.starttls()
    server.login(fromaddr , "发送者的邮箱授权码")
    text = msg.as_string()
    server.sendmail(fromaddr, toaddr, text)
    server.quit()
    

    发送成功就可以看到如下的提示:
    这里写图片描述

    END

    展开全文
  • email 发电子邮件 邮件群发 附件---C#.Net实例代码
  • outlook转发邮件步骤If you tell us email has fallen out of fashion, we’d ask you to have a look at our inboxes. Being able to sort through and organize the mess of messages that arrive daily is fairly...
    outlook转发邮件步骤

    outlook转发邮件步骤

    Alphabetical Index

    If you tell us email has fallen out of fashion, we’d ask you to have a look at our inboxes. Being able to sort through and organize the mess of messages that arrive daily is fairly key to maintaining workplace sanity.

    如果您告诉我们电子邮件已过时,我们将请您查看我们的收件箱。 能够整理和整理每天到达的混乱消息,对于保持工作场所的卫生状况至关重要。

    It’s not just about spam either. Spam still exists, an annoying fact of life, but there are ways to deal with that. It’s the crush of other email we get – updates about software, invitations to events, mailing lists we [got] subscribed to but never remember to unsubscribe from – all of which necessitates some way to organize, sort, and file messages to their proper place, whether it’s a designated folder or the trash.

    这也不只是垃圾邮件。 垃圾邮件仍然存在,这是生活中令人讨厌的事实,但是有多种方法可以解决该问题。 这是我们收到的其他电子邮件的暗恋–有关软件的更新,活动邀请,我们[已订阅]但从未忘记取消订阅的邮件列表-所有这些都需要某种方式来组织,分类和归档消息到适当的位置,无论是指定文件夹还是垃圾箱。

    We’ve talked quite a bit about Outlook, including e-mail basics like composing and sending, ways to add and receive attachments, as well as importing contacts and managing address books. We want to turn our attention now to the bigger picture, by focusing on inbox management.

    我们已经对Outlook进行了很多讨论,包括电子邮件的基本知识,例如撰写和发送添加和接收附件的方式以及导入联系人和管理通讯录 。 现在,我们希望通过专注于收件箱管理将我们的注意力转移到更大的前景。

    掌握您的Outlook收件箱 (Mastering Your Outlook Inbox)

    Outlook has a wealth of features built in to help you filter your mail into its proper places. To begin, if you right-click on a message or mouse up to the Ribbon, you’ll notice there’s a feature called Quick Steps.

    Outlook具有许多内置功能,可帮助您将邮件过滤到正确的位置。 首先,如果右键单击消息或将鼠标移至功能区,您会注意到有一个名为“快速步骤”的功能。

    sshot-4

    If we expand it from the Ribbon, we can see this feature in full.

    如果从功能区展开它,则可以完整看到此功能。

    sshot-1

    The first thing to remember is Quick Steps are basically rules (there is a feature called Rules, which we’ll discuss shortly). The second thing to remember is that, unlike Rules, which work behind the scenes without your input, Quick Steps rely on your input to work.

    首先要记住的是“快速步骤”基本上是规则(有一个称为“规则”的功能,我们将在稍后讨论)。 要记住的第二件事是,与“规则”不同,该规则无需您的输入即可在后台运行,而“快速步骤”则依靠您的输入进行工作。

    The first thing you will do is select the Quick Step you want to create. Let’s do a simple one to illustrate our point.

    您要做的第一件事是选择要创建的快速步骤。 让我们做一个简单的例子来说明我们的观点。

    In this Quick Step, we select a message we deem miscellaneous and click the Quick Step, which will move the message to the Misc folder and mark the message as Read.

    在此“快速步骤”中,我们选择一条我们认为是杂项的邮件,然后单击“快速步骤”,这会将邮件移至“杂项”文件夹并将该邮件标记为“已读”。

    sshot-70

    If you click the “Options” button, you can see how the Quick Step is constructed, and you can also edit it, such as adding or removing parts to or from it.

    如果单击“选项”按钮,则可以看到快速步骤的构造方式,还可以对其进行编辑,例如向其添加零件或从中删除零件。

    For example, in this screenshot, you could remove the step where messages are marked as Read, so everything is moved to the Miscellaneous folder but its status remains unchanged.

    例如,在此屏幕快照中,您可以删除将消息标记为“已读”的步骤,以便将所有内容移到“杂项”文件夹,但其状态保持不变。

    sshot-71

    That’s how Quick Steps work, we could spend quite a bit of time showing you various ways they can be created and implemented, but we want to move over to Rules to illustrate the difference.

    这就是“快速步骤”的工作方式,我们可能会花费大量时间向您展示可以创建和实现它们的各种方式,但是我们希望继续使用“规则”来说明不同之处。

    基本规则 (The Basic Rules of Rules)

    As we mentioned, Quick Steps are something you act on while Rules function automatically, behind the scenes, according to criteria you specify. When you click the “Rules” button, you should choose “Create Rule…” from the drop-down list.

    正如我们提到的,“快速步骤”是您要执行的操作,而“规则”将根据您指定的标准在后台自动运行。 单击“规则”按钮时,应从下拉列表中选择“创建规则...”。

    The primary conditions for rule creation are pretty basic and you may not even need to delve into any advanced options, so let’s go ahead and examine some of their simpler aspects.

    规则创建的主要条件非常基本,您甚至不必研究任何高级选项,因此让我们继续研究它们的一些较简单方面。

    In the following image, you see you can route mail from certain senders, or based on the subject, or to whom it is sent. From there, you can have Outlook alert you visually and/or with a sound. You can also move the message to a specific folder, which unlike using a Quick Step, would happen without your input.

    在下图中,您看到可以将来自某些发件人的邮件路由,也可以根据主题或邮件的收件人进行路由。 从那里,您可以让Outlook视觉和/或发出声音警报。 您也可以将消息移到特定的文件夹,这与使用“快速步骤”不同,而无需输入。

    If you click the “Create Rule” button, you will see the following wizard dialog appear.

    如果单击“创建规则”按钮,将看到以下向导对话框出现。

    sshot-72

    You can also click “New Rule” from the Rules and Alerts window.

    您也可以从“规则和警报”窗口中单击“新规则”。

    sshot-214

    Doing so will open the first Rules Wizard window, which walks you through the process.

    这样做将打开第一个“规则向导”窗口,该窗口将引导您完成此过程。

    sshot-209

    Rules are surprisingly uncomplicated if you already know what you want the rule to do. Click on “Advanced Options…” and you’ll see what we mean. Not only will you see the options from the basic Create Rule screen, you’ll find a whole new world of other rules you can use.

    如果您已经知道规则要执行的操作,则规则会变得异常复杂。 单击“高级选项...”,您将明白我们的意思。 您不仅可以从基本的“创建规则”屏幕中看到选项,还可以找到可以使用的其他规则的全新世界。

    sshot-210

    Imagine then we take the Quick Step we created earlier and want to turn it into a rule. We’d want to select our criteria from the options shown above and then click “Next.” In this case, we’re going to move mail that is sent to our How-To Geek account.

    想象一下,然后我们采用之前创建的“快速步骤”,并希望将其转变为规则。 我们想从上面显示的选项中选择我们的条件,然后单击“下一步”。 在这种情况下,我们将移动发送到我们的How-To Geek帐户的邮件。

    On the next screen, we choose the “move to a specified folder” option and then at the bottom we click on the underlined link “move it to the specified folder.” We’re then shown options that will let us route mail to whatever folder we choose, which in this case is “Misc.”

    在下一个屏幕上,我们选择“移至指定文件夹”选项,然后在底部单击带下划线的链接“将其移至指定文件夹”。 然后,我们显示的选项将使我们可以将邮件路由到我们选择的任何文件夹,在本例中为“其他”。

    sshot-215

    Upon clicking “Next,” you’ll be asked if there are any exceptions to this new rule. If there are not, then you can click “Next” and you’ll progress to the final screen, where you’ll be asked to name your new rule, whether you want to turn it on, run it upon finishing it, and finally, you’ll be able to review it.

    点击“下一步”后,系统会询问您该新规则是否有例外。 如果没有,则可以单击“下一步”,然后进入最后一个屏幕,在该屏幕上将要求您命名新规则,是否要启用它,在完成后运行它,最后,您将可以对其进行审查。

    sshot-213

    That’s it, click “Finish” and you’re good to go. You can see this rule by clicking the “Rules” button and then “Manage Rules and Alerts” from the drop-down selections.

    就是这样,单击“完成”,一切就好了。 您可以通过单击“规则”按钮,然后从下拉选择中单击“管理规则和警报”来查看此规则。

    sshot-216

    You can return anytime to change your rule, add new ones, make copies, delete, and other functions. Don’t forget, if you want to keep a rule, but don’t want it to run all the time, you can just uncheck the little box next to it.

    您可以随时返回以更改规则,添加新规则,进行复制,删除和其他功能。 别忘了,如果您想保留一条规则,但又不想一直运行,则只需取消选中它旁边的小框即可。

    If you want to learn more about automatically moving messages to a specific folder, we recommend you check out this article.

    如果您想了解有关将邮件自动移动到特定文件夹的更多信息, 建议您阅读本文。

    删除和忽略电子邮件 (Deleting and Ignoring Email Messages)

    You’ll get a lot of e-mail you don’t want or need, whether it’s forwards from an over-exuberant parent, or straight up spam, keeping your inbox tamed and well groomed will be a big challenge if you don’t know how to use the tools at your disposal.

    无论是从过分忙碌的父母那里转发邮件,还是直接发送垃圾邮件,您都会收到大量不需要或不需要的电子邮件,如果不这样做,保持收件箱的收拾和整洁将是一个很大的挑战。知道如何使用这些工具。

    As you can see prominently displayed on the Ribbon, there’s a section entirely devoted to deleting things, most notable is the big “Delete” button and its giant X. You can also simply select a message or group of messages and click that button or just tap “Delete” on your keyboard.

    正如您可以看到功能区上显眼显示的那样,有一个部分专门用于删除内容,最值得注意的是大的“删除”按钮及其巨型X。您也可以简单地选择一条消息或一组消息,然后单击该按钮或仅点击键盘上的“删除”。

    Let’s look at that Delete section a bit more and see what else it has to offer. Firstly, there’s the “Ignore” button.

    让我们再看一下“删除”部分,看看它还提供了什么。 首先,有一个“忽略”按钮。

    What does Ignore do? When you select a message or conversation and click “Ignore,” a dialog box appears.

    忽略什么? 当您选择一条消息或对话并单击“忽略”时,将出现一个对话框。

    The difference between this and simply deleting a conversation is that ignoring it will apply to this and all future messages, meaning that if you’re on a mailing list and respondents keep replying all, you will no longer see them, which is pretty darn useful.

    此对话与简单删除对话之间的区别在于,忽略对话将适用于此对话以及所有以后的消息,这意味着如果您在邮件列表中并且被调查者不断回复所有内容,则您将不再看到它们,这非常有用。

    The other notable option is the Clean Up feature. Clicking the “Clean Up” button will trigger a drop-down menu with the following options

    另一个值得注意的选项是清理功能。 点击“清理”按钮将触发一个包含以下选项的下拉菜单

    Whatever option you choose, you will see a dialog that offers the same outcome, all redundant messages will be trashed.

    无论选择什么选项,都将看到一个提供相同结果的对话框,所有冗余消息都将被丢弃。

    If you click the “Settings” button, you’ll be whisked to the Conversation Clean Up options. As you can see, you can use the Clean Up feature to archive old, redundant conversations to an alternate folder, which is probably the most useful option here. It’s often better to simply archive stuff rather than deleting it, just in case you need to refer to it at a later time.

    如果您单击“设置”按钮,将被打到“对话清理”选项。 如您所见,您可以使用“清理”功能将旧的冗余对话存档到备用文件夹中,这可能是这里最有用的选项。 通常最好是简单地归档内容而不是删除它们,以防万一您以后需要引用它。

    While these features are great, and we see the obvious merit in them, they’re not going to have much effect on that unholy of inbox scourges: spam.

    虽然这些功能很棒,而且我们看到了它们的明显优点,但它们对垃圾邮件这一邪恶的垃圾邮件并不会产生太大影响。

    垃圾邮件,垃圾邮件消失! (Spam, Spam Go Away!!)

    Spam doesn’t get the same kind of headlines it once did because for the most part, modern spam filters do a pretty good job at weeding it all out. If you use Gmail or other webmail services, you likely don’t see a lot of it, which isn’t to say it isn’t there, particularly if you make the ill-fated mistake of consenting to let a company share your address with their marketing partners, or you click the wrong box and mistakenly sign up to be on a distribution list.

    垃圾邮件没有以前那样的头条新闻,因为在大多数情况下,现代垃圾邮件过滤器在清除垃圾邮件方面做得很好。 如果您使用Gmail或其他网络邮件服务,则可能看不到很多内容,这并不是说它不存在,特别是如果您犯了同意让公司共享您的地址的不幸错误与他们的营销合作伙伴,或者您单击错误的框并错误地注册成为分发列表。

    The point is, spam still happens, but Outlook gives you ways to hopefully keep it largely under control with junk filters. When you receive a message that is clearly junk or spam, you can select that message then click the “Junk” button for a drop-down list of options. For unwanted messages, you’ll choose “Block Sender,” but for everything else, you’ll want to adjust the Junk E-mail Options.

    关键是,垃圾邮件仍然会发生,但是Outlook为您提供了希望通过垃圾邮件过滤器在很大程度上控制垃圾邮件的方法。 当您收到明显是垃圾邮件或垃圾邮件的邮件时,可以选择该邮件,然后单击“垃圾邮件”按钮以显示选项的下拉列表。 对于不需要的邮件,您将选择“阻止发件人”,但对于其他所有邮件,您将需要调整“垃圾邮件”选项。

    The more restrictive your filtering level is, the better chance something you actually want or need to see may inadvertently be filtered out. If this happens, you’ll need to treat the affected e-mails using the choices seen in the previous screenshot.

    过滤级别的限制越严格, 您实际上想要或需要看到的内容被疏忽过滤的可能性就越大。 如果发生这种情况,您将需要使用上一个屏幕快照中的选择来处理受影响的电子邮件。

    It’s a good idea to spend some time exploring the Junk E-mail Options. You can set up whitelists from certain senders and to certain recipients, while explicitly blocking senders you know you don’t trust.

    花一些时间探索垃圾邮件选项是个好主意。 您可以设置从某些发件人到某些收件人的白名单,同时显式阻止您不信任的发件人。

    Keeping your inbox lean and mean takes dedication and attention to detail. To be honest, a few well-designed rules can make up for a lot of work, but there’s always going to be new challenges. Remember these tools – Quick Steps, Rules, ignoring, and Junk filters – and you’ll be well on your way to taming your e-mail.

    保持收件箱精简和卑鄙,这需要奉献精神和对细节的关注。 老实说,一些精心设计的规则可以弥补很多工作,但是总会有新的挑战。 记住这些工具-快速步骤,规则,忽略和垃圾邮件过滤器-这样您就可以很好地驯服电子邮件了。

    Let’s hear from you now. Tell us about your own favorites Quick Steps and Rules, or how you handle spam. Our discussion forum is open, so lend us your comments and questions.

    让我们现在听听你的声音。 告诉我们您最喜欢的快速步骤和规则,或如何处理垃圾邮件。 我们的讨论论坛是开放的,请向我们提出您的意见和问题。

    翻译自: https://www.howtogeek.com/203249/how-to-better-manage-e-mail-in-outlook-2013-with-quick-steps-and-rules/

    outlook转发邮件步骤

    展开全文
  • delphi编写电子邮件的制作步骤

    千次阅读 2007-09-20 09:43:00
    在delphi中TNMPop控件 -------接收电子邮件,pop3 pop3协议自身命令 命令 说明 USER 向pop3服务器器传递用户名 PASS 向pop3服务器器传递用户密码 STAT 获取当前用户的邮件数 LIST 获取邮件标号和大小 BETR ...
    在delphi中TNMPop控件 -------接收电子邮件,pop3 
    
    pop3协议自身命令

    命令     说明
    USER     向pop3服务器器传递用户名
    PASS     向pop3服务器器传递用户密码
    STAT     获取当前用户的邮件数
    LIST     获取邮件标号和大小
    BETR     获取邮件的全部信息,包括邮件头和邮件内容
    TOP     获取邮件头
    DELE     删除指定的邮件
    NOOP     空操作
    QUIT     退出主机对话

    控件属性
    1、       AttachFilePath     
    指定附件存放路径,为空指当前路径
    2、       BytesRecvd       
    收了多少个字节
    3、       BytesTotal 
    本次传输总的字节数
    4、       Connected
    与pop3服务器建立了连接则返回true,否则为false
    例:
    if not nmpop31.connect then
    begin
      nmpop31.port:=110;
      nmpop31.userid:=’username’;
      nmpop31.password:=’userpassword’;
      nmpop31.connect; 
    end;
    5、       DeleteOnRead
    如果属性为true时,则当邮件下载后从服务器删除掉
    6、       host
    服务器主机名或ip地址
    7、       LocalIp
    返回客户的IP地址,如果有多个,则只返回第一个。
    8、       mailcount
    返回邮件数
    9、       mailmessage
    调用了getmailmessage方法后,该属性返回检索到的邮件信息,它是一个类
    包含了以下几部份:
    l     Attachments:这是个tstringlist对象:包含了接收到邮件的附件名称
    l     Body: 这是个tstringlist对象:包含了接收到邮件的正文
    l     From:发件人的e_mail地址
    l     Head: 这是个tstringlist对象,包含了邮件头的标题
    l     MessageID:邮件的识别号
    l     Subject:邮件的主题
    10、password,port,userid
      向pop3服务器提交的用户密码,协议端口,用户识别名
    11、RemoteIP
      pop3服务器的IP地址
    12、ReportLevel
    指示了与pop3服务器的通话状态信息?
    13、Status
      返回当前状态信息
    14、Summary
    是一个类,包含邮件的统计信息。其中包含了以下几部份:
    l     Bytes邮件的字节数;
    l     From 发件人的邮件地址
    l     MessageID邮件的编号
    l     Subject这是邮件的主题
    15、TimeOut
      单位毫秒数,当Socket在这里所指定时间内没有响应,将会触发异常。
    16、TransactionReply
      返回上次命令执行结果。
    ******************************************************************
    控件方法:
    1、     Abort
    中止此次接收,且断开与Pop3服务器的连接。
    2、     Connect
      与Pop3服务器的连接,但事先设好host,port,userid,password属性。
      例:
        Nmpop31.host:=”mail.wofoo.com”;
        Nmpop31.port:=110;
        Nmpop31.reportlevel:=1;
        Nmpop31.timeout:=1000;
        Nmpop31.connect;
    3、     DeleteMessage(MailNumber:integer)
    从Pop3服务器删除一个邮件号为MailNumber的邮件。注:这里并没有真正删除,当在断开边接之前调用reset,将被恢复。
    4、     Disconnect
    断开与Pop3服务器的连接。
    5、     GetMailMessage(MailNumber:integer)
      从Pop3服务器下载一个邮件号为MailNumber的邮件
    6、     GetSummary(MMailNumber:integer)
    得到一个邮件信息,其邮件号为MailNumber。
    7、     List
    从邮件服务器检索一个列表。该列表包含每一封邮件的编号和字节数,列表中的每一项将触发一个Onlist事件。
    8、     Reset 
    将恢复服务器中所有标记为已删除的邮件。
    **************************************************************
    控件事件:
    1、     OnAuthenticationFailed (Var handled:Boolean)
    登陆服务器时,用户名与密码不能通过,将触发该事件。
    更正了后,如果将Handled参数设为True,将再登陆一次。
    2、     OnAuthenticationNeeded(Var handled:Boolean)
    如果某个操作需要验证用户的身份,将触发这个事件。
    例:
    procedure Tform1.NMPOP31 AuthenticationNeeded(Var handled:Boolean);
    var newpass,newid:string;
    begin
    newpass:= NMPOP31 .password;
    newid:= NMPOP31.userid;
    inputquery(‘Authentication Need ‘,’ input userid’,newid);
    inputquery(‘Authentication Need ‘,’ input password’ ,newpass);
    NMPOP31.userid;:=newid;
    NMPOP31.password:=newpass;
    Handled:=true;
    end;
    3、     OnConnect
    当与服务器连接成功时将显示触发该事件。
    4、     OnConnectFailed
    当与服务器连接失败时将显示触发该事件
    5、     OnConnectRequired (Var handled:Boolean)
    Pop控件大多数方法是在与服务器连接成功后才会有意思。如果调用方法时与服务器连接不成功时,将触发该事件。此时应重新调用connect方法,且将Handled参数设为True;
    6、     OnDisconnect
    当与服务器断开连接时将触发该事件,如果要访问VCL控件,最好先判断它存不存在。
    7、     OnFailure
    如果删除该邮件出错时,触发该事件。
    8、     OnInvalidHost
    与主机连接时发现指定主机名不存在,触发该事件。
    9、OnList
      当程序调用list过程时,每检索到一项将会触发该事件一次。MSG参数是邮
      件编号,Size参数是邮件字节数。
    10、OnPacketRecvd
      每收到一个数据块时,将触发一次该事件。可用BytesTotal和BytesRecvd属性显示邮件接收进度。
    11、OnReset
      当程序调用Reset过程恢复已经有删除标记的邮件时,触发该事件。
    12、OnRetrieveStar
      当程序调用GetMailMessage过程或GetSummary过程开始检索数据时将会触发该事件。
    13、OnRetrieveEnd
      当程序调用GetMailMessage过程或GetSummary过程检索数据成功时将会触发该事件

    实例1:
    程序如下:
    procedure TfrmMail.FormCreate(Sender:Tobject);
    begin
    //服务器信息
    edtIP.text:=’mail.wofoo.com’
    edtPort.text:=’110’;
    //用户信息
    edtUser.text:=’mis’;
    edtpass.passwordchar:=’*’;
    edtpass.text:=’123’;
    //其它
    edtmail.text:=’’;
    edtsubject.text:=’’;
    memo1.lines.clear;
    //pop3控件参数设置
    NMPOP31.deleteonread:=false;
    NMPOP31.timeout:=5000;
    NMPOP31.deleteonread:=false;
    NMPOP31.Reportlevel:=Status_Basic;
    //显示其它选项
    memo1.scrollbars:=ssboth;
    end;
    首先要登陆服务器,在btnConnect的onclick事件中实现。代码如下:

    procedure TfrmMail. btnConnect click(Sender:Tobject);
    begin
    NMPOP31.host:=edtip.text;
    NMPOP31.port:=strtoint(edtport.text);
    NMPOP31.userid:=edtuser.text;
    NMPOP31.password:=edtpass.text;
    NMPOP31.connect;
    end;
    登陆成功处理:
    procedure TfrmMail. NMPOP31 Connect (Sender:Tobject);
    begin
      showmessage(‘连接成功’);
    end;
    登陆成功失败处理:
    procedure TfrmMail. NMPOP31 Connect (Sender:Tobject);
    begin
      showmessage(‘连接失败’);
    end;
    登陆成功就可获得邮件信息了。按获得邮件按钮进行处理。
    procedure TfrmMail. btnGetMailclick(Sender:Tobject);
    begin
    NMPOP31.list;
    end;
    用了list方法,当检索到信息时将触发OnList事件。这个事件的参数含有邮件大小等信息。将这些信息添加到listView控件中显示出来。
    procedure TfrmMail. NMPOP31list (MSG,size:integer);
    var 
    listitem1:tlistitem;
    begin
      listitem1:=listview1.items.add;
      listitem1.caption:=intostr(msg);
      listitem1.subitems.add(intostr(size));
    end;
    在实际使用过程中,有可能用户在没有登陆服务器之前就使去获取邮件信息了
    这时NMPOP3将触发OnConnectionRequired事件。这时可在这里要求重新连
    服务器。
    procedure TfrmMail. NMPOP31ConnectionRequired (var handled:boolean);
    begin
    handled:=true;
    NMPOP31.connect;
    end;
    用户可在listview控件中选择要看的邮件。
    procedure TfrmMail. Listview1Click(var handled:boolean);
    var index,I:integer;
    begin
    if listview1.selected:=nil then 
      exit;
    //获取所选的标识
    index:=strtoint(listview1.selected.capton);
    //获取邮件
    NMPOP31.GetMessage(index);
    //获取邮件信息
    edtmail.text:=nmpop31.mailmessage.from;
    edtsubject.text:= nmpop31.mailmessage.subject;
    memo1.lines.assign(nmpop31.mailmessage.body);
    end;
    其它信息显示
    procedure TfrmMail. NMPOP31Success (sender:tobject);
    begin
    statusbar1.simpletext:=’操作成功’;
    end;
    procedure TfrmMail. NMPOP31Failure (sender:tobject);
    begin
    statusbar1.simpletext:=’操作失败’;
    end;
    procedure TfrmMail. NMPOP31ConnectionFailed (sender:tobject);
    begin
    showmessage(‘连接失败’);
    end;
    procedure TfrmMail. NMPOP31InvalidHoat(var handled:boolean);
    begin
    showmessage(‘无效的主机’);
    handled:=true;
    end;
    最后退出邮件服务器
    procedure TfrmMail. btnDisConnectonClick(sender:tobject);
    begin
    NMPOP31.disconnect;
    end;
    procedure TfrmMail. NMPOP31Disconnect (sender:tobject);
    begin
    statusbar1.simpletext:=’断开连接’;
    end;


    发送邮件NMSMTP


    SMTP协议自身命令

    命令     说明
    HELO     客户机用HELO命令向服务器标识身份
    MAIL     初始化邮件传输
    RCPT     在MAIL命令后,标识单个邮件接收人
    NOOP     无操作,服务器响应OK
    DATA     RCPT之后(通常),表示所有邮件接收人已标识,初始化数据传输
    HELP     客户机可使用此命令查询服务器支持什幺命令
    QUIT     会话结束

    NMSMTP
    属性
    1、     ClearParams属性
    为真时,邮件发送完毕会把PostMessage属性的值清空
    2、     EncodeType
    指定邮件编码方式。uuMIME—MIME 编码;unCode---UUEncoding编码
    3、     FinalHeader
    指定最后的消息头标。
    4、Host
    SMTP服务器的主机名或IP地址。
    5、LocalIP
      返回客户机的IP地址,若有多个只返回一个。
    6、Port
      指定服务器的端口
    7、PostMessage
      是一个类,存储要发送的邮件信息。具体如下:
    l     FromName:发件人名称
    l     FromAdress:发件人email地址。
    l     ReplayToAdress:回复地址
    l     Orgranization:发件人所在地址。
    l     LocalProgram:发件人所用的客户程序
    l     ToAdress:是Tstringlist对象,收件人的接收地址。
    l     ToCC: Tstringlist对象,抄送的email地址。
    l     ToBCC: Tstringlist对象,密送的email地址。
    l     Attachments: Tstringlist对象,指定的附件。
    l     Body: Tstringlist对象,邮件正文。
    l     Subject:邮件主题。
    l     Date:邮件发送日期,为空指当前日期。
    9、     ReplayNumber
    只读属性,返回smtp服务器响应应答信息。
    10、status
      当前状态信息。
    11、Timeout
      毫秒级别的单位,如果规定时间Socket没有响应,触发异常。
    12、TransactionReply
      返回上一次命令的执行结果。
    13、UserID
      指定的用户名。

    控件方法
      
    1、     Abort
    中止发送,断开与smtp服务器的连接
    2、     ClearParameters
    清空PostMessage。
    3、     Connect
    登陆SMTP服务器,注意要先设好host,port属性。Host非法触发OnValidHost事件,连接失败触发OnConnectFalied事件。如果连接成功触发OnConnect事件。
    4、     DisConnect
    断开与服务器的连接。触发OnDisconnect事件。
    5、     ExpandList(MailList:string):Boolean;
    该过程在SMTP服务器上检索一个邮件列表,如果有触发OnMailListReturn事件,可以取得这个邮件列表。
    6、     SendMail
    发送邮件,事先要设好host,port,PostMessage
    7、     Verify(UserName:string):Boolean;
    检验用户名是否合法,合法为True;

    事件:
    1、     OnAttachmentNotFound
    如果没找到postMessage所指定的邮件,该事件触发,同时有传进附件名的参数。
    2、OnAuthenticationFailed
    当SMTP需要用户名和口令才能发送,而事先没给用户名和密码或给出的有错,该事件触发。
    3、OnConnect
      与服务器连接成功后,触发该事件。
    4、     OnConnectFailed
    与服务器连接失败,触发该事件。
    5、     OnDisconnect
    断开与服务器连接触发该事件。
    6、     OnEnacodeStart
    当附件开始编码时,触发该事件
    7、     OnEnacodeEnd
    当附件编码结束时,触发该事件。参数FileName,初编码的附件。
    8、     OnFailure
    当邮件发送不成功时,触发该事件
    9、     OnHeaderIncomplete
    发送邮件时,当postmessage给出的头标信息不完整时,触发
    10、OnHostResolved与OnIvalidHost
      当服务器的主机名找到触发该事件,否则触发OnIvalidHost
    11、OnMailListReturn
      当程序调用ExpandList,每检索到一个email地址,就触发该事件一次。
    12、OnRecipientNotFound
      如果PostMessage所指定的收件人不成再时,触发该事件。
    13、OnSendStart
      邮件发送开始触发该事件。
    14、OnSuccess
      邮件发送成功触发该事件。

    实例:
    procedure TfrmSendMail.btnSendClick(Sender:Tobject);
    begin
    if edtAdress.text=’’ then 
      exit;
    if edtport.text=’’ then 
      exit;
    if edtSendusertext=’’ then 
      exit;
    if edtReceiver.text=’’ then 
      exit;
    NMSMTP1.host:=edtAdress.text;
    NMSMTP1.port:=strtoint(edPort.text);
    NMSMTP1.UserId:=edtSenduser.text;
    NMSMTP1.conncet;
    end;
    procedure TfrmSendMail. NMSMTP1 ConnectionFailed(Sender:Tobject);
    begin
    showmessage(‘连接失败’);
    end;
    procedure TfrmSendMail. NMSMTP1 Connection (Sender:Tobject);
    begin
    sendmessage(Handle,WM_LOGIN,0,0);//自定义消息息传送。产生WM_LOGIN事件
    end;
    procedure TfrmSendMail. WMLOGIN (var MSG:TWM);//处理自定义消息
    begin
    //这里发送邮件。
    NMSmTP1.postmessage.fromadress:=edtuserMail.text;
    NMSmTP1.postmessage.fromname:=edtsenderuser.text;
    NMSmTP1.postmessage.subject:=edtsubject.text;
    NMSmTP1.postmessage.toadress.add(edtreceiver.text); 
    NMSmTP1.postmessage.attachments.addstrings(listbox1.items);
    NMSmTP1.postmessage.body.assign(memo1.lines);
    NMSMTP1.SENDMAIL;
    NMSMTP1.DISCONNCET;
    end;  
    展开全文
  • 轻松记录并查看和搜索浏览器中的外发电子邮件。 该软件包提供了将所有传出电子邮件记录到数据库并从浏览器查看它们的功能,就像它们将在现代邮件客户端(gmail等)中显示的那样。 安装 步骤1:作曲家 在命令行中,...
  • 《企业电子邮件妥协指南》旨在描述在Office 365环境中执行企业电子邮件妥协(BEC)调查的10个步骤。 每个步骤都旨在指导识别,收集和分析与BEC入侵相关的活动的过程。 如果您需要有关BEC检测或响应的其他支持,请...
  • 电子邮件推广

    千次阅读 2019-02-27 11:12:00
    电子邮件营销由于有针对性强、速度快、效率高且成本低的特点,一直以来都是我们常用的营销推广手段,今天一米软件就来和大家讨论一下电子邮件推广。     要利用的邮件营销进行推广,需要系统性的步骤来完成,...
  • 一个简单的数据库记录器,用于存储Laravel网站发送的所有外发电子邮件。 安装 步骤1:作曲家 通过在终端中运行以下行,可以通过安装Laravel电子邮件数据库日志: composer require shvetsgroup/laravel-email-...
  • SpringBoot实现发送电子邮件

    万次阅读 多人点赞 2019-04-20 23:41:23
    电子邮件与Java发送邮件的历史 电子邮件原理 电子邮件服务器 电子邮箱 邮件客户端 邮件传输协议 邮件格式 电子邮件发送和接收流程 电子使用场景 SpringBoot实现发送电子邮件 准备账号 构建项目并配置 实现服务端...
  • email-spec, 在使用ActionMailer或者Pony的ruby 应用中,收集 testing/minitest匹配器的集合和用于测试电子邮件的Cucumber 步骤 电子邮件规范用于 RSpec 。MiniTest 和 Cucumber 步骤的匹配器集合,使测试邮件顺利...
  • 你为什么不通过发送电子邮件传输信息? 不使用数据库就能接收到传入的消息,绝对是最佳选择,也是最方便用户的选择。但问题来了—如何实现呢?...我将分 5 个步骤向你展示如何从头开始构建电子邮件发送器。 步骤1-
  • RSpec , MiniTest和Cucumber步骤的匹配器集合,以使测试电子邮件顺利进行。 该库可与ActionMailer和Pony 。 与ActionMailer一起使用时,它可与ActiveRecord Mailer和。 如果您要结合自动浏览器解决方案(例如...
  • 验证电子邮件格式是否正确

    万次阅读 2017-07-17 19:48:02
    实现步骤: 1,新建HTML页面,在页面中添加文本框输入电子邮件 2,在页面中添加检测按钮电子邮件格式是否正确 3,为按钮绑定点击事件,添加事件处理程序。 4,在事件处理程序中验证电子邮件格式。 5,直到验证通过。 ...
  • 电子邮件的工作过程

    千次阅读 2016-01-06 20:27:45
    电子邮件的工作过程在面试的时候有可能会被问到,所以记录一下: 步骤: 1.件人调用PC中的用户代理撰写和编辑要发送的邮件。 2.件人点击屏幕上“发送邮件”的按钮,把发送邮件的工作全部交给用户代理来...
  • 电子邮件轰炸机 一个简单的python脚本,用于将大量电子邮件发送到电子邮件地址 运行此工具的步骤: git clone cd emailbomber 须藤chmod + x * python emailbomber.py 注意:出于娱乐目的使用此工具 工具作者:...
  • 电子邮件实验报告

    2015-06-01 08:11:18
    计算机网络课程必修实验,有详细的步骤,数据及数据处理
  • 发送电子邮件提交消息,以拆分在一个步骤中推送的提交。 电子邮件以文本或HTML格式交付,每个字词都有改进。 电子邮件具有可扫描的主题,其中包含提交的第一句以及作者,项目和分支名称。 例如: [rails][master]...
  • 将收到的电子邮件归档后存档的人,并尝试实现“收件箱清零” 将所有收到的电子邮件永久保留在“收件箱”中,但使用“标记为未读”或星标/标记消息来指示它是仍需要操作的人 如果您是第一类人,您现在可以停止阅读这...
  • 电子邮件怎么注册

    万次阅读 2018-07-14 22:58:06
    首先,我们需要选择一个电子邮箱的品牌。常见的免费邮箱有网易、腾讯、新浪、搜狐等等,最多人用的应该是网易163邮箱,根据需求选择即可。然后按步骤申请就好~1、登录邮箱官网在浏览器地址栏输入邮箱的官方网址...
  • 实验一电子邮件使用模拟实验 三实验思考 *1电子邮箱的设置有哪些 答步骤一进入网络营销点击电子邮件界面点击设置E-mail账户...步骤三设置Internet电子邮件地址用户的Internet电子邮件地址是别人用来给你发送电子邮件
  • 电子邮件是网络犯罪分子主要使用的高级网络攻击方式(如勒索软件和凭据窃取)以攻击受害者,有调查... FireEye的技术顾问剖析高级电子邮件安全解决方案需要注意事項,如何评估增强型增强电子邮件安全解决方案的步骤
  • 计算机网络之电子邮件系统

    万次阅读 2017-11-08 22:27:09
    电子邮件系统 一个电子邮件系统应具有三个主要组成部分:用户代理、邮件服务器、邮件发送协议(如SMTP)与邮件读取协议(如POP)。 用户代理(User Agent)就是用户与电子邮件系统的接口,在大多数情况下它...
  • 给国外教授发邮件Photo by uniinnsbruck 图片来自uniinnsbruck Professors are some of busiest people around. They have to lecture, hold office hours, work with graduate students and colleagues, attend ...
  • 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的25/TCP端口。 邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/...
  • 电子邮件垃圾邮件过滤:使用Scikit-learn,多项式朴素贝叶斯和SVM分类器实现我们将执行以下步骤来构建分类任务,该任务涉及将电子邮件分类为垃圾邮件或非垃圾邮件: 准备文本数据。创建单词字典。特征提取过程训练...
  • 全面理解电子邮件

    万次阅读 2018-10-16 21:03:55
    电子邮件系统的组成 传统电子邮件系统 一个电子邮件系统应具有三个主要组成部分:用户代理、邮件服务器、邮件发送协议(如SMTP)与邮件读取协议(如POP)。 用户代理(User Agent)就是用户与电子邮件系统的接口,...
  • 步骤2:电子邮件搜索器从该域中搜索电子邮件ID。步骤3:您复制/粘贴发现的电子邮件ID,或下载所有发现的电子邮件地址 CSV / TXT中的版本此Chrome扩展程序可以替代昂贵的工具,例如hunter.io,emailhunter,clearbit...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,461
精华内容 28,584
关键字:

如何发电子邮件步骤