JavaMail 1.6.2 Source Code Files

JavaMail Source Code Files are provided in the source package file,

You can browse JavaMail Source Code files below:



 * Copyright (c) 1997-2017 Oracle and/or its affiliates. All rights reserved.
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License.  You can
 * obtain a copy of the License at
 * or LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at LICENSE.txt.
 * GPL Classpath Exception:
 * Oracle designates this particular file as subject to the "Classpath"
 * exception as provided by Oracle in the GPL Version 2 section of the License
 * file that accompanied this code.
 * Modifications:
 * If applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyright [year] [name of copyright owner]"
 * Contributor(s):
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.

package com.sun.mail.util;


 * This class implements a Q Decoder as defined in RFC 2047
 * for decoding MIME headers. It subclasses the QPDecoderStream class.
 * @author John Mani

public class QDecoderStream extends QPDecoderStream {

     * Create a Q-decoder that decodes the specified input stream.
     * @param in        the input stream
    public QDecoderStream(InputStream in) {

     * Read the next decoded byte from this input stream. The byte
     * is returned as an <code>int</code> in the range <code>0</code>
     * to <code>255</code>. If no byte is available because the end of
     * the stream has been reached, the value <code>-1</code> is returned.
     * This method blocks until input data is available, the end of the
     * stream is detected, or an exception is thrown.
     * @return     the next byte of data, or <code>-1</code> if the end of the
     *             stream is reached.
     * @exception  IOException  if an I/O error occurs.
    public int read() throws IOException {
	int c =;

	if (c == '_') // Return '_' as ' '
	    return ' ';
	else if (c == '=') {
	    // QP Encoded atom. Get the next two bytes ..
	    ba[0] = (byte);
	    ba[1] = (byte);
	    // .. and decode them
	    try {
		return ASCIIUtility.parseInt(ba, 0, 2, 16);
	    } catch (NumberFormatException nex) {
		throw new DecodingException(
			"QDecoder: Error in QP stream " + nex.getMessage());
	} else
	    return c;



Or download all of them as a single archive file:

File name: javax.mail-1.6.2-sources.jar
File size: 851487 bytes
Release date: 2018-08-29


Download and Install javax.mail-1.5.4.jar

Download and Install javax.mail-1.6.2.jar

Download and Install JavaMail Library

⇑⇑ FAQ for JavaMail

2016-01-07, 8945👍, 0💬