Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (322)
Collections:
Other Resources:
Apache Ant Source Code Files
Apache Ant Source Code Files are inside the Apache Ant source package file
like apache-ant-1.10.10-src.zip.
Unzip the source package file and go to the "src/main" sub-directory,
you will see source code files.
Here is the list of Java source code files of the Apache Ant 1.10.10 in \Users\fyicenter\apache-ant-1.10.10\src\main:
✍: FYIcenter.com
⏎ org/apache/tools/ant/taskdefs/email/PlainMailer.java
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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
*
* https://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.tools.ant.taskdefs.email;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.mail.MailMessage;
/**
* Class responsible for sending email through raw protocol methods.
*
* @since Ant 1.5
*/
class PlainMailer extends Mailer {
/**
* Sends the email using the apache MailMessage class.
*
* @see org.apache.tools.mail.MailMessage
*/
@Override
public void send() {
try {
MailMessage mailMessage = new MailMessage(host, port);
mailMessage.from(from.toString());
boolean atLeastOneRcptReached = false;
replyToList.stream().map(Object::toString).forEach(mailMessage::replyto);
for (EmailAddress to : toList) {
try {
mailMessage.to(to.toString());
atLeastOneRcptReached = true;
} catch (IOException ex) {
badRecipient(to, ex);
}
}
for (EmailAddress cc : ccList) {
try {
mailMessage.cc(cc.toString());
atLeastOneRcptReached = true;
} catch (IOException ex) {
badRecipient(cc, ex);
}
}
for (EmailAddress bcc : bccList) {
try {
mailMessage.bcc(bcc.toString());
atLeastOneRcptReached = true;
} catch (IOException ex) {
badRecipient(bcc, ex);
}
}
if (!atLeastOneRcptReached) {
throw new BuildException("Couldn't reach any recipient");
}
if (subject != null) {
mailMessage.setSubject(subject);
}
mailMessage.setHeader("Date", getDate());
if (message.getCharset() != null) {
mailMessage.setHeader("Content-Type", message.getMimeType()
+ "; charset=\"" + message.getCharset() + "\"");
} else {
mailMessage.setHeader("Content-Type", message.getMimeType());
}
if (headers != null) {
for (Header h : headers) {
mailMessage.setHeader(h.getName(), h.getValue());
}
}
PrintStream out = mailMessage.getPrintStream();
message.print(out);
if (files != null) {
for (File f : files) {
attach(f, out);
}
}
mailMessage.sendAndClose();
} catch (IOException ioe) {
throw new BuildException("IO error sending mail", ioe);
}
}
/**
* Attaches a file to this email
*
* @param file The file to attache
* @param out The message stream to add to
* @throws IOException if errors occur
*/
protected void attach(File file, PrintStream out)
throws IOException {
if (!file.exists() || !file.canRead()) {
throw new BuildException(
"File \"%s\" does not exist or is not readable.",
file.getAbsolutePath());
}
if (includeFileNames) {
out.println();
String filename = file.getName();
int filenamelength = filename.length();
out.println(filename);
for (int star = 0; star < filenamelength; star++) {
out.print('=');
}
out.println();
}
final int maxBuf = 1024;
byte[] buf = new byte[maxBuf];
try (InputStream finstr = Files.newInputStream(file.toPath());
BufferedInputStream in = new BufferedInputStream(finstr, buf.length)) {
int length;
while ((length = in.read(buf)) != -1) {
out.write(buf, 0, length);
}
}
}
private void badRecipient(EmailAddress rcpt, IOException reason) {
String msg = "Failed to send mail to " + rcpt;
if (shouldIgnoreInvalidRecipients()) {
msg += " because of :" + reason.getMessage();
if (task != null) {
task.log(msg, Project.MSG_WARN);
} else {
System.err.println(msg);
}
} else {
throw new BuildException(msg, reason);
}
}
}
⏎ org/apache/tools/ant/taskdefs/email/PlainMailer.java
Or download all of them as a single archive file:
File name: apache-ant-1.10.10-fyi.zip File size: 2392938 bytes Release date: 2021-04-17 Download
⇐ Download Apache Ant Source Package
2021-07-10, ≈421🔥, 0💬
Popular Posts:
What Is javax.websocket-api-1.1. jar?javax.websocket-api-1.1. jaris the JAR file for Java API for We...
JDK 11 jdk.jcmd.jmod is the JMOD file for JDK 11 JCmd tool, which can be invoked by the "jcmd" comma...
What Is jaxb-api-2.1.6.jar? Java Architecture for XML Binding (JAXB) is a Java API that allows Java ...
JDK 17 jdk.jlink.jmod is the JMOD file for JDK 17 JLink tool, which can be invoked by the "jlink" co...
commons-lang-2.6.jar is the JAR file for Apache Commons Lang 2.6, which provides a host of helper ut...