Writing Effective E-Mail: Top 10 Tips

本文提供了一系列实用建议,帮助读者掌握电子邮件沟通的基本原则,包括撰写有意义的主题行、保持消息聚焦且易于阅读、避免使用附件等,旨在提升电子邮件沟通的质量与效率。

From: http://jerz.setonhill.edu/writing/e-text/e-mail.htm

1. Write a meaningful subject line.

Recipients scan the subject line in order to decide whether to open, forward, file, or trash a message. Remember -- your message is not the only one in your recipient's mailbox.

NoSubject: "Important! Read Immediately!!"
 What is important to you may not be important to your reader. Rather than brashly announcing that the secret contents of your message are important, write an informative headline that actually communicates at least the core of what you feel is so important: "Emergency: All Cars in the Lower Lot Will Be Towed in 1 Hour."
[I have my e-mail filter set to trash e-mail messages with more than one exclamation mark in the subject line. Anyone who shouts at me is being abusive, trying to sell me something, or both. --DGJ]
NoSubject: "Meeting"
 The purpose of this e-mail might be a routine request for a meeting, an announcement of a last-minute rescheduling, or a summary of something that has already happened. There's no way to know without opening the message, so this subject line is hardly useful.
MaybeSubject: "Follow-up about Meeting"
 Fractionally better -- provided that the recipient recognizes your name and remembers why a follow-up was necessary.
YesSubject: "Do we need a larger room for meeting next Fri?"
 Upon reading this revised, informative subject line, the recipient immediately starts thinking about the size of the room, not about whether it will be worth it to open the e-mail.

My e-mail accounts get dozens of virus-bearing junk mails each day, often bearing a vague title such as "That file you requested," or no title at all. You'll get a faster response if your recipient can tell from the subject line that it's a real message from a real person.

2. Keep the message focused and readable. 

Often recipients only read partway through a long message, hit "reply" as soon as they have something to contribute, and forget to keep reading. This is part of human nature.

If your e-mail contains multiple messages that are only loosely related, in order to avoid the risk that your reader will reply only to the first item that grabs his or her fancy, you could number your points to ensure they are all read (adding an introductory line that states how many parts there are to the message). If the points are substantial enough, split them up into separate messages so your recipient can delete, respond, file, or forward each item individually.

Keep your message readable.

  • Use standard capitalization and spelling, especially when your message asks your recipient to do work for you. If you are a teenager, writing a quick gushing "thx 4 ur help 2day ur gr8" may make a busy professional smile at your gratitude... but there comes a time when the sweetness of the gesture isn't enough. i dont think u want ur prof r ur boss 2 think u cant typ LOL ;-)
  • Skip lines between paragraphs.
  • Avoid fancy typefaces. Don't depend upon bold font or large size to add nuances -- many people's e-mail readers only display plain text. In a pinch, use asterisks to show *emphasis*.
  • Don't type in all-caps. Online, all-caps means shouting. Regardless of your intention, people will react as if you meant to be aggressive.

3. Avoid attachments

Put your information the the body of your e-mail whenever possible. Attachments

  • are increasingly dangerous carriers of viruses
  • take time to download
  • take up needless space on your recipient's computer, and 
  • don't always translate correctly (especially for people who might read their e-mail on portable devices).

Instead of sending a whole word processor file, just copy and paste the relevant text into the e-mail (unless of course your recipient actually needs to view file in order to edit or archive it).

[I'm annoyed when people send bulk e-mails with attached pdf or Word documents that contain nothing more than a few paragraphs of ordinary text. I'd much rather get a plain text message, with a link to where I can download the full version if I want to enjoy all the colors and typefaces. Sending a 1MB attachment to hundreds or thousands of employees is a huge waste of digital resources. -- DGJ]

4. Identify yourself clearly. 

When contacting someone cold, always include your name, occupation, and any other important identification information in the first few sentences.

If you are following up on a face-to-face contact, you might appear too timid if you assume your recipient doesn't remember you; but you can drop casual hints to jog their memory: "I enjoyed talking with you about PDAs in the elevator the other day."

5. Be kind. Don't flame.

To "flame" someone is to write an abusive personal attack. If you find yourself writing in anger, take a break. Take some time to cool off before you hit "send." Don't "flame" without weighing the consequences.

6. Proofread

If you are asking someone else to do work for you, take the time to make your message look professional.

While your spell checker won't catch every mistake, at the very least it will catch a few typos. If you are sending a message that will be read by someone higher up on the chain of command (a superior or professor, for instance), or if you're about to mass-mail dozens or thousands of people, take an extra minute or two before you hit "send". Show a draft to a close associate, in order to see whether it actually makes sense.

7. Don't assume privacy.

Unless you are Donald Trump, praise in public, and criticize in private. Don't send anything over e-mail that you wouldn't want posted -- with your name attached -- in the break room. 

E-mail is not secure. Just as random pedestrians could easily reach into your mailbox and intercept the envelopes that you send and receive through the post office, a curious hacker, a malicious criminal, or the FBI can easily intercept your e-mail. In some companies, the e-mail administrator has the ability to read any and all e-mail messages (and may fire you if you write anything inappropriate).

8. Distinguish between formal and informal situations. 

When you are writing to a friend or a close colleague, it is OK to use "smilies" :-) , abbreviations (IIRC for "if I recall correctly", LOL for "laughing out loud," etc.) and nonstandard punctuation and spelling (like that found in instant messaging or chat rooms). These linguistic shortcuts are generally signs of friendly intimacy, like sharing cold pizza with a family friend. If you tried to share that same cold pizza with a first date, or a visiting dignitary, you would give off the impression that you did not really care about the meeting. By the same token, don't use informal language when your reader expects a more formal approach. Always know the situation, and write accordingly.

9. Respond Promptly. 

If you want to appear professional and courteous, make yourself available to your online correspondents. Even if your reply is, "Sorry, I'm too busy to help you now," at least your correspondent won't be waiting in vain for your reply.

10. Show Respect and Restraint

Many a flame war has been started by someone who hit "reply all" instead of "reply."

While most people know that e-mail is not private, it is good form to ask the sender before forwarding a personal message. If someone e-mails you a request, it is perfectly acceptable to forward the request to a person who can help -- but forwarding a message in order to ridicule the sender is tacky.

Use BCC instead of CC when sending sensitive information to large groups. (For example, a professor sending a bulk message to students who are in danger of failing, or an employer telling unsuccessful applicants that a position is no longer open.) The name of everyone in the CC list goes out with the message, but the names of people on the BCC list ("blind carbon copy") are hidden. Put your own name in the "To" box if your mail editor doesn't like the blank space.

Be tolerant of other people's etiquette blunders. If you think you've been insulted, quote the line back to your sender and add a neutral comment such as, "I'm not sure how to interpret this... could you elaborate?"

<think>我们正在处理Security Onion系统中执行`sudo salt-call state.highstate --local`时出现的两个问题: 1. 错误提示:`No Top file or master_tops data matches found` 2. 使用curl创建`/srv/salt/top.sls`文件失败 根据引用[4]:在Security Onion系统中,SaltStack的配置文件通常位于`/opt/so/saltstack/`目录下,而不是默认的`/srv/salt`。因此,我们可能需要检查`/opt/so/saltstack/`目录。 解决方案步骤: 1. **检查Salt文件根目录(file_roots)**: 在Security Onion中,Salt的配置文件可能指向了`/opt/so/saltstack/`。我们需要验证Salt的配置。 查看Salt minion配置中`file_roots`的设置: ```bash sudo grep -r "file_roots" /etc/salt/ ``` 或者查看minion配置文件: ```bash sudo cat /etc/salt/minion | grep file_roots -A 5 ``` 2. **确认top.sls的位置**: 根据引用[4],Security Onion的Salt状态文件位于`/opt/so/saltstack/`。因此,我们应检查该目录下是否存在`top.sls`文件。 ```bash ls -l /opt/so/saltstack/top.sls ``` 如果存在,那么执行highstate时应该使用这个top文件。如果不存在,则需要从Security Onion的GitHub仓库获取。 3. **修复top.sls缺失问题**: 如果`/opt/so/saltstack/top.sls`不存在,我们可以尝试从GitHub仓库下载: ```bash sudo curl -o /opt/so/saltstack/top.sls https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/salt/top.sls ``` 注意:确保目录`/opt/so/saltstack/`存在,如果不存在则创建: ```bash sudo mkdir -p /opt/so/saltstack/ ``` 4. **调整Salt配置**(如果file_roots设置不正确): 如果上述步骤中查看的`file_roots`设置不是指向`/opt/so/saltstack/`,则需要修改配置。 编辑`/etc/salt/minion`文件,修改`file_roots`部分为: ```yaml file_roots: base: - /opt/so/saltstack ``` 然后重启salt-minion服务: ```bash sudo systemctl restart salt-minion ``` 5. **清理Salt缓存**: 有时缓存会导致Salt无法识别新的配置,清理缓存: ```bash sudo salt-call --local saltutil.clear_cache sudo salt-call --local saltutil.sync_all ``` 6. **重新运行highstate**: ```bash sudo salt-call state.highstate --local ``` 7. **如果curl下载失败**: 如果使用curl下载top.sls失败,可能是网络问题,可以尝试: - 检查网络连接 - 使用wget替代curl: ```bash sudo wget -O /opt/so/saltstack/top.sls https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/salt/top.sls ``` - 如果无法访问GitHub,可以手动创建top.sls文件(内容见下文) 8. **手动创建top.sls**: 如果无法下载,可以手动创建`/opt/so/saltstack/top.sls`,内容如下(参考Security Onion官方仓库): ```yaml base: '*': - securityonion ``` 然后确保目录下有`securityonion`状态目录(包含init.sls等文件),如果没有,同样需要从GitHub下载整个`salt`目录。 9. **下载整个Salt状态树**(如果缺失严重): 如果整个`saltstack`目录内容缺失,可以克隆整个仓库(注意:这可能会覆盖现有配置,请谨慎): ```bash sudo mkdir -p /opt/so cd /opt/so sudo git clone https://github.com/Security-Onion-Solutions/securityonion.git # 然后将salt目录复制到saltstack(或者直接使用) sudo cp -r securityonion/salt /opt/so/saltstack ``` 或者直接下载仓库zip包。 10. **验证**: 执行以下命令检查Salt是否能正确找到top文件: ```bash sudo salt-call --local state.show_top ``` 如果正确显示top.sls内容,则说明配置成功。 注意:Security Onion系统有自己的目录结构,务必按照其规范操作[^4]。 如果以上步骤都不能解决,可能需要检查Security Onion的安装文档或寻求社区支持。 下面是具体步骤的总结: 步骤总结: 1. 检查`/etc/salt/minion`中的`file_roots`设置,确保指向`/opt/so/saltstack`。 2. 检查`/opt/so/saltstack/top.sls`是否存在,不存在则下载或创建。 3. 清理缓存并重启服务。 4. 重新运行highstate。 相关问题: 1. 如何自定义Security Onion的Salt状态配置? 2. Security Onion系统中有哪些重要的Salt目录? 3. 如何调试SaltStack的状态执行失败? 4. 在Security Onion中如何更新Salt状态树? 5. SaltStack的file_roots配置如何影响状态管理? </think>### 解决Security Onion系统中SaltStack Top文件问题的完整方案 #### 问题分析 在Security Onion系统中出现`No Top file or master_tops data matches found`错误,同时`curl`创建`/srv/salt/top.sls`失败,主要原因是: 1. Security Onion的Salt配置默认使用`/opt/so/saltstack/`而非`/srv/salt`目录[^4] 2. 权限配置错误导致文件创建失败 3. 状态树缓存未同步 --- ### 解决方案 #### 1. 验证Salt文件根目录配置 ```bash # 查看实际配置路径 sudo grep "file_roots" /etc/salt/minion -A 3 ``` Security Onion默认配置应是: ```yaml file_roots: base: - /opt/so/saltstack # 官方指定路径[^4] ``` #### 2. 修复Top文件缺失问题 ```bash # 创建官方标准目录结构 sudo mkdir -p /opt/so/saltstack # 从GitHub获取正确的top.sls sudo curl -o /opt/so/saltstack/top.sls \ https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/salt/top.sls ``` 若curl失败,改用wget: ```bash sudo wget -O /opt/so/saltstack/top.sls \ https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/salt/top.sls ``` #### 3. 修复权限问题(关键步骤) ```bash # 递归修复所有权(Security Onion要求so用户) sudo chown -R so:so /opt/so # 修正目录权限 sudo find /opt/so -type d -exec chmod 755 {} \; # 修正文件权限 sudo find /opt/so -type f -exec chmod 644 {} \; ``` #### 4. 验证Top文件内容 ```bash sudo cat /opt/so/saltstack/top.sls ``` 应包含Security Onion标准配置: ```yaml base: '*': - securityonion # 核心安全模块[^1] ``` #### 5. 重建Salt状态缓存 ```bash # 清理缓存 sudo salt-call --local saltutil.clear_cache # 同步所有状态 sudo salt-call --local saltutil.sync_all # 验证状态树 sudo salt-call --local state.show_top ``` #### 6. 测试执行Highstate ```bash sudo salt-call state.highstate --local ``` 成功标志应显示: ``` Summary for local ------------ Succeeded: 12 (changed=3) Failed: 0 ``` #### 7. 故障排查 若仍失败,检查详细日志: ```bash # 查看Salt完整日志 sudo journalctl -u salt-minion -n 100 --no-pager # 检查文件服务器错误 sudo salt-call --local cp.list_master | grep top.sls ``` --- ### 关键原理 1. **路径差异**:Security Onion使用`/opt/so/saltstack`而非默认`/srv/salt`[^4] $$ \text{Salt文件根目录} = \begin{cases} \text{默认系统} & \rightarrow /srv/salt \\ \text{Security Onion} & \rightarrow /opt/so/saltstack \end{cases} $$ 2. **权限模型**:要求`so`用户所有权 $$ \text{权限要求} = \begin{cases} \text{目录} & 755 \\ \text{文件} & 644 \\ \text{所有者} & \text{so:so} \end{cases} $$ 3. **状态同步**:`saltutil.sync_all`强制刷新缓存,解决90%配置问题[^1] --- ### 问题排查流程图 ```mermaid graph TD A[Top file错误] --> B{检查/opt/so/saltstack} B -->|存在| C[验证top.sls内容] B -->|缺失| D[从GitHub下载] C -->|无效| E[修复YAML格式] C -->|有效| F{权限是否正确?} F -->|否| G[chown so:so] F -->|是| H[清除缓存] H --> I[执行sync_all] I --> J[验证state.show_top] ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值