simplesmtpheader.java

来自「apache推出的net包」· Java 代码 · 共 151 行

JAVA
151
字号
/* * Copyright 2001-2005 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.commons.net.smtp;/*** * This class is used to construct a bare minimum * acceptable header for an email message.  To construct more * complicated headers you should refer to RFC 822.  When the * Java Mail API is finalized, you will be * able to use it to compose fully compliant Internet text messages. * <p> * The main purpose of the class is to faciliatate the mail sending * process, by relieving the programmer from having to explicitly format * a simple message header.  For example: * <pre> * writer = client.sendMessageData(); * if(writer == null) // failure *   return false; * header = *    new SimpleSMTPHeader("foobar@foo.com", "foo@bar.com" "Just testing"); * header.addCC("bar@foo.com"); * header.addHeaderField("Organization", "Foobar, Inc."); * writer.write(header.toString()); * writer.write("This is just a test"); * writer.close(); * if(!client.completePendingCommand()) // failure *   return false; * </pre> * <p> * <p> * @author Daniel F. Savarese * @see SMTPClient ***/public class SimpleSMTPHeader{    private String __subject, __from, __to;    private StringBuffer __headerFields, __cc;    /***     * Creates a new SimpleSMTPHeader instance initialized with the given     * from, to, and subject header field values.     * <p>     * @param from  The value of the <code>From:</code> header field.  This     *              should be the sender's email address.     * @param to    The value of the <code>To:</code> header field.  This     *              should be the recipient's email address.     * @param subject  The value of the <code>Subject:</code> header field.     *              This should be the subject of the message.     ***/    public SimpleSMTPHeader(String from, String to, String subject)    {        __to = to;        __from = from;        __subject = subject;        __headerFields = new StringBuffer();        __cc = null;    }    /***     * Adds an arbitrary header field with the given value to the article     * header.  These headers will be written before the From, To, Subject, and     * Cc fields when the SimpleSMTPHeader is convertered to a string.     * An example use would be:     * <pre>     * header.addHeaderField("Organization", "Foobar, Inc.");     * </pre>     * <p>     * @param headerField  The header field to add, not including the colon.     * @param value  The value of the added header field.     ***/    public void addHeaderField(String headerField, String value)    {        __headerFields.append(headerField);        __headerFields.append(": ");        __headerFields.append(value);        __headerFields.append('\n');    }    /***     * Add an email address to the CC (carbon copy or courtesy copy) list.     * <p>     * @param address The email address to add to the CC list.     ***/    public void addCC(String address)    {        if (__cc == null)            __cc = new StringBuffer();        else            __cc.append(", ");        __cc.append(address);    }    /***     * Converts the SimpleSMTPHeader to a properly formatted header in     * the form of a String, including the blank line used to separate     * the header from the article body.  The header fields CC and Subject     * are only included when they are non-null.     * <p>     * @return The message header in the form of a String.     ***/    public String toString()    {        StringBuffer header = new StringBuffer();        if (__headerFields.length() > 0)            header.append(__headerFields.toString());        header.append("From: ");        header.append(__from);        header.append("\nTo: ");        header.append(__to);        if (__cc != null)        {            header.append("\nCc: ");            header.append(__cc.toString());        }        if (__subject != null)        {            header.append("\nSubject: ");            header.append(__subject);        }        header.append('\n');        header.append('\n');        return header.toString();    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?