本文整理汇总了Golang中mailfile.Mail.Path方法的典型用法代码示例。如果您正苦于以下问题:Golang Mail.Path方法的具体用法?Golang Mail.Path怎么用?Golang Mail.Path使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mailfile.Mail
的用法示例。
在下文中一共展示了Mail.Path方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Filter
func (cif *ContentInspectionFilter) Filter(mail mailfile.Mail) Result {
log.Printf("Run %s, Mail:%s\n", cif, mail.Name())
cif.total.Inc(1)
post, err := mailpost.Parse(mail)
mail.Close()
if err != nil {
cif.malformed.Inc(1)
log.Printf("ContentInspectionFilter: Err:%v, Mail:%s\n", err, mail.Path())
return cif.next.Filter(mail)
}
class := cif.anlz.Test(post.Subject + " " + post.Content)
cif.counters[class].Inc(1)
if cif.allPass || analyzer.Good == class {
return cif.next.Filter(mail)
}
return Quarantine
}
示例2: Filter
func (df *DeliverFilter) Filter(mail mailfile.Mail) Result {
log.Printf("Run %s, Mail:%s\n", df, mail.Name())
df.total.Inc(1)
result := df.next.Filter(mail)
df.counters[result].Inc(1)
if result == None {
log.Fatalf("DeliverFilter: the filter result should not be None, Mail:%s\n", mail.Name())
}
destination := filepath.Join(df.paths[result], mail.Name())
log.Printf("Move to %s, Mail:%s\n", destination, mail.Name())
err := os.Rename(mail.Path(), destination)
if err != nil {
log.Printf("DeliverFilter: Err:%v, Mail:%s\n", err, mail.Name())
}
return None
}
示例3: Update
func (cih *ContentInspectionUpdater) Update(mail mailfile.Mail) {
if leaner, ok := cih.anlz.(analyzer.Learner); ok {
log.Printf("Run %s, Mail:%s\n", cih, mail.Name())
cih.total.Inc(1)
post, err := mailpost.Parse(mail)
mail.Close()
if err != nil {
cih.malformed.Inc(1)
log.Printf("ContentInspectionUpdater: Err:%v, Mail:%s\n", err, mail.Path())
return
}
leaner.Learn(post.Subject, cih.class)
leaner.Learn(post.Content, cih.class)
err = os.Remove(mail.Path())
if err != nil {
log.Println(err)
}
}
}