Mac & iOS 如何优雅的使用exchange邮箱

Mac & iOS 如何优雅的使用exchange邮箱,第1张

自从公司开始用Exchange邮箱之后,我一直在找好看好用的客户端。经过整理如下分类。

第一个支持以To do处理邮件的概念一时造成很大的轰动,但是目前只支持gmail和iCloud,且只在美区有。

样式:

看样子也支持todo和Exchange,甚至还支持Evernote(不知道是不是印象笔记)

样式:

我没用这款,不知道实际使用怎么样。

我用了两天,支持邮箱种类很多,但是收邮件有的会有乱码,弃用了。

独有的card概念,但是因为网速原因,我没好好用过都,看意思不错呢。

自称是Best email client for Gmail, Yahoo, Outlook and Exchange。我还真安装过,但是因为什么不用给忘记了。。。从样式来看

支持to do概念

支持日历支持exchange

支持evernote和对话,那确实非常强大了。而且还是免费。看来是性价比最高的选择了。

我现在就在用这个,咬牙40买下来,就是因为支持Exchange的全部功能:邮件,事项和日历。不用挨个进个个app去处理了。从性价比来讲不如seed mail,但从工作角度非常顺手。收邮件的速度显然这个谁都没法和原生mail去竞争,但是顺手全能还是最重要的,体验很好。

所以我现在的配置是

直接用Alfred 2发邮件,和添加附件。

Mail的最常用的一些快捷键, 比较全的看这里吧

如果你能坚持看到这里,我就再介绍一个我前几天研究的非常蛋疼的一个玩意。

是的,我先iOS原生的mail丑,但是又在mac上用命令行收发邮件……

我就研究出怎么用gmail账号发邮件,但是怎么收没弄出来。贴几个连接参详吧

简单的说,在mac上用mutt是可以实现用终端收发邮件的,这样就可以保持手不离开键盘 *** 作。

How to Use the Fast and Powerful Mutt Email Client with Gmail

Using mutt instead of MS Outlook on an Exchange server

Using the Mutt Email Client

随机种子seed一般设置为多少:一般情况下,将随机种子seed设置为不小于0的整数,如777。

拓展:有些语言中,可以将随机种子seed设置为实数,如设置为3.14159。此外,也可以将随机种子seed设置为某种特定的字符串,例如"Hello World!"。

c#在使用outlook提供的一些API时,需要将outlook相关的com引用到项目中。 具体方法就是用vs打开工程后,在工程上添加引用,在com选项卡上,选择Microsoft Outlook 12.0 Object Library,如果安装的不是outlook2007,则对应com的版本不一样。注意下面描述的方法是在命令行模式或者winform模式下的,不是web模式下的。

1.给outlook添加任务,代码如下:

/// <summary>

/// 给outlook添加一个新的任务

/// </summary>

/// <param name="subject">新任务标题</param>

/// <param name="body">新任务正文</param>

/// <param name="dueDate">新任务到期时间</param>

/// <param name="importance">新任务优先级</param>

public static void AddNewTask(string subject, string body, DateTime dueDate, OlImportance importance)

{

try

{

Application outLookApp = new Application()

TaskItem newTask = (TaskItem)outLookApp.CreateItem(OlItemType.olTaskItem)

newTask.Body = body

newTask.Subject = subject

newTask.Importance = importance

newTask.DueDate = dueDate

newTask.Save()

}

catch(System.Exception e)

{

throw e

}

}

2.最简单的发送邮件。

下面是一个最简单的发送邮件的例子,在该例子中,只能给一个邮箱地址发邮件,而且还不能够添加附件。代码如下:

/// <summary>

/// 一个最简单的发送邮件的例子。同步方式。只支持发送到一个地址,而且没有附件。

/// </summary>

/// <param name="server">smtp服务器地址</param>

/// <param name="from">发送者邮箱</param>

/// <param name="to">接收者邮箱</param>

/// <param name="subject">主题</param>

/// <param name="body">正文</param>

/// <param name="isHtml">正文是否以html形式展现</param>

public static void SimpleSeedMail(string server, string from, string to, string subject, string body, bool isHtml)

{

try

{

MailMessage message = new MailMessage(from, to, subject, body)

message.IsBodyHtml = isHtml

SmtpClient client = new SmtpClient(server)

client.Credentials = new NetworkCredential("发送者邮箱用户名(即@前面的东东)","发送者邮箱密码")

client.Send(message)

}

catch (System.Exception e)

{

throw e

}

}

3.向多人发邮件,并支持发送多个附件。

代码如下:

/// <summary>

/// 支持向多人发邮件,并支持多个附件的一个发送邮件的例子。

/// </summary>

/// <param name="server">smtp服务器地址</param>

/// <param name="from">发送者邮箱</param>

/// <param name="to">接收者邮箱,多个接收者以隔开</param>

/// <param name="subject">邮件主题</param>

/// <param name="body">邮件正文</param>

/// <param name="mailAttach">附件</param>

/// <param name="isHtml">邮件正文是否需要以html的方式展现</param>

public static void MultiSendEmail(string server, string from, string to, string subject, string body, ArrayList mailAttach, bool isHtml)

{

MailMessage eMail = new MailMessage()

SmtpClient eClient = new SmtpClient(server)

eClient.Credentials = new NetworkCredential("发送者邮箱用户名(即@前面的东东)", "发送者邮箱密码")

eMail.Subject = subject

eMail.SubjectEncoding = Encoding.UTF8

eMail.Body = body

eMail.BodyEncoding = Encoding.UTF8

eMail.From = new MailAddress(from)

string[] arrMailAddr

try

{

#region 添加多个收件人

eMail.To.Clear()

if (!string.IsNullOrEmpty(to))

{

arrMailAddr = to.Split('')

foreach (string strTo in arrMailAddr)

{

if (!string.IsNullOrEmpty(strTo))

{

eMail.To.Add(strTo)

}

}

}

#endregion

#region 添加多个附件

eMail.Attachments.Clear()

if (mailAttach != null)

{

for (int i = 0i <mailAttach.Counti++)

{

if (!string.IsNullOrEmpty(mailAttach[i].ToString()))

{

eMail.Attachments.Add(new System.Net.Mail.Attachment(mailAttach[i].ToString()))

}

}

}

#endregion

#region 发送邮件

eClient.Send(eMail)

#endregion

}

catch (System.Exception e)

{

throw e

}

}//end of method

4.异步发送邮件的一个例子。以163的smtp服务器为例。

代码如下:

using System

using System.Net

using System.Net.Mail

using System.Net.Mime

using System.Threading

using System.ComponentModel

namespace Examples.SmptExamples.Async

{

public class SimpleAsynchronousExample

{

static bool mailSent = false

private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)

{

// Get the unique identifier for this asynchronous operation.

String token = (string)e.UserState

if (e.Cancelled)

{

Console.WriteLine("[{0}] Send canceled.", token)

}

if (e.Error != null)

{

Console.WriteLine("[{0}] {1}", token, e.Error.ToString())

}

else

{

Console.WriteLine("Message sent.")

}

mailSent = true

}

public static void Main(string[] args)

{

SmtpClient client = new SmtpClient("smtp.163.com")

client.Credentials = client.Credentials = new NetworkCredential("发送者邮箱用户名", "发送者邮箱密码")

MailAddress from = new MailAddress("softwarezxj@163.com")

MailAddress to = new MailAddress("lastBeachhead@gmail.com")

MailMessage message = new MailMessage(from, to)

message.Body = "这是一封测试异步发送邮件的邮件 "

message.BodyEncoding = System.Text.Encoding.UTF8

message.Subject = "测试异步发邮件"

message.SubjectEncoding = System.Text.Encoding.UTF8

// 设置回调函数

client.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback)

// SendAsync方法的第二个参数可以是任何对象,这里使用一个字符串标识本次发送

//传入的该对象可以在邮件发送结束触发的回调函数中访问到。

string userState = "test message1"

client.SendAsync(message, userState)

Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit.")

string answer = Console.ReadLine()

if (answer.StartsWith("c") &&mailSent == false)

{

client.SendAsyncCancel()

}

//清理工作

message.Dispose()

Console.WriteLine("Goodbye.")

Console.ReadLine()

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11134090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存